Android 为什么findViewById在我的类中没有定义?
我有一个类,在该类中我尝试调用Android 为什么findViewById在我的类中没有定义?,android,android-activity,Android,Android Activity,我有一个类,在该类中我尝试调用findviewbyd方法,但我得到一个错误,即findviewbyd未定义 我想我必须把WebView传给MyClass或者别的什么东西,但我不知道怎么做 以下是我正在编写的代码: public class MyClass { Context mContext; MyClass(Context c) { mContext = c; } ... WebView webview = (WebView) mContext
findviewbyd
方法,但我得到一个错误,即findviewbyd
未定义
我想我必须把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
没有扩展活动
。但是,我可以在不扩展活动的情况下获得WebView
请帮忙!谢谢。findViewById
是一种由Android定义的方法。因此,您需要实际扩展Android活动
,以便将其识别为一种方法:
public class MyClass extends Activity {
然后在提示时导入活动
如果您想在非Android的活动中使用findViewById
,那么您可以为它指定一个活动
,以便在类似的so中查找视图:
WebView webview = (WebView) OtherActivity.findViewById(R.id.myWebview);
您没有从活动
扩展您的类,或者您没有从视图的实例使用此方法
我已经有一个扩展活动的类,我在上面声明myClass并不重要。这应该直接在扩展活动的类中,或者从视图的实例调用,然后您需要将活动的内容视图传递给您的类-此方法在活动和视图类上定义。您需要学习基本知识实际上我已经有一个扩展活动的类,并且我在上声明了myClass你说“我在上面声明我的班级”是什么意思?。MyClass需要扩展Activity@AndrewFielden我想他希望MyClass成为一个标准的Java类,然后被Android活动使用@MuhammadShappe也许您需要在MyClass中创建一个构造函数,然后传入上下文或布局。