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中创建一个构造函数,然后传入上下文或布局。