0

我正在使用 CordovaWebView 开发应用程序,并且在 web_view.xml 文件中添加了以下代码。

<org.apache.cordova.CordovaWebView
        android:id="@+id/cordovaWebView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

我已经实现了 CordovaInterface 的方法。现在我的设计页面显示以下错误消息。

提示:当在 Eclipse 中显示时,在自定义视图中使用 View.isInEditMode() 以跳过代码

谁能告诉我如何解决它?

4

1 回答 1

1

isInEditMode()应该在自定义视图构造函数中使用。试试下面的代码:

public class GraphView extends View implements Grapher
    {

     public GraphView(Context context, AttributeSet attrs) {
            super(context, attrs);
            if(!isInEditMode())
             init(context);
        }

        public GraphView(Context context) {
            super(context);
           if(!isInEditMode()){
            touchHandler = new TouchHandler(this);
            init(context);
          }
        }

用您的 CordovaWebview 替换 GraphView。

View.isInEditMode()

指示此视图当前是否处于编辑模式。当在开发人员工具中显示时,视图通常处于编辑模式。例如,如果此视图是由可视化用户界面构建器绘制的,则此方法应返回 true。如果子类的正常行为可能会干扰宿主环境,则应检查此方法的返回值以提供不同的行为。例如:类在其构造函数中生成一个线程,绘图代码依赖于特定于设备的功能等。此方法通常在自定义小部件的绘图代码中检查。

于 2015-05-29T12:06:57.890 回答