使用子类修改主要活动的视图

时间:2013-01-10 05:37:28

标签: android android-layout

我有一个主要活动TextViews和类,想要修改主要活动的TextViews

我在班级的NullPointerException方法中一直生成 findViewbyID 错误。我假设因为我没有将View传递给类方法。我该怎么做呢?

2 个答案:

答案 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的原因。 为什么要在另一个活动中操纵此活动的视图?我建议你在第一个活动中操纵视图。