为什么我的班级中未定义findViewById?

时间:2015-08-13 14:41:56

标签: android android-activity

我有一个班级,在班级里面我尝试调用findViewById方法但是我收到一条错误,说findViewById未定义。

我想我必须将WebView传递给MyClass或其他什么,但我不知道如何做到这一点。

以下是我正在处理的代码:

public class MyClass {
   Context mContext;
    MyClass(Context c) {
        mContext = c;
    }
   ...
   WebView webview = (WebView) mContext.findViewById(R.id.myWebview);
   webview.loadUrl("mysiteUrl");
   ...
}

public class MainActivity extends Activity {
     final myClass mc = new myClass(this);
     ...
}

我知道发生了这种情况,因为MyClass没有扩展Activity。但是我可以在不延长WebView ...

的情况下获得Activity

请帮忙!感谢。

1 个答案:

答案 0 :(得分:0)

findViewById是由Android定义的方法。因此,您需要实际扩展Android Activity,以便将其识别为方法:

public class MyClass extends Activity {

然后在出现提示时导入Activity

如果您想在非Android findViewById中使用Activity,那么您可以指定Activity来查找该视图,如下所示:

WebView webview = (WebView) OtherActivity.findViewById(R.id.myWebview);