我有一个主要活动TextViews
和类,想要修改主要活动的TextViews
。
我在班级的NullPointerException
方法中一直生成 findViewbyID
错误。我假设因为我没有将View传递给类方法。我该怎么做呢?
答案 0 :(得分:4)
您需要使用构造函数将Activity实例传递给非Activity类,以便从非Activity Class访问所有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);
答案 1 :(得分:0)
在您的活动中,如果您使用setcontentView(R.layout.yourlayout)
,则后续所有findViewById()
都会对应yourlayout.xml
中的观看次数。
在第二个活动中,您正在尝试查找第一个活动布局的视图,这就是您获得NullPointerException
的原因。
为什么要在另一个活动中操纵此活动的视图?我建议你在第一个活动中操纵视图。