我有一个主要活动TextViews
和想要修改主要活动的类TextViews
。
我在课堂上的方法中不断产生NullPointerException
错误。findViewbyID
我假设是因为我没有将 View 传递给类方法。我该怎么做呢?
我有一个主要活动TextViews
和想要修改主要活动的类TextViews
。
我在课堂上的方法中不断产生NullPointerException
错误。findViewbyID
我假设是因为我没有将 View 传递给类方法。我该怎么做呢?
您需要使用构造函数将 Activity 实例传递给您的非 Activity 类,以访问非 Activity 类中的所有 UI 元素:
public class NonActivity{
Activity activity;
Context context;
public NonActivity(Activity activity,Context context) {
this.activity=activity;
this.context=context;
}
}
现在您可以从 NonActivity 类中的 Activity 访问 UI 元素,如下所示:
TextView textview=(TextView)activity.findViewbyID(R.id.textview);
在您的 Activity 中,如果您使用setcontentView(R.layout.yourlayout)
then 所有后续都findViewById()
对应于中的视图yourlayout.xml
。在第二个活动中,您试图找到第一个活动的布局视图,这就是您获得NullPointerException
. 为什么要在另一个活动中操作此活动的视图?我建议您在第一个活动中操纵视图。