0

私は、メイン アクティビティTextViewsの を変更したいクラスとメイン アクティビティを持っていTextViewsます。

クラスのメソッドでNullPointerExceptionエラーが発生し続けます。findViewbyIDView をクラスメソッドに渡していないためだと思います。どうすればこれを行うことができますか?

4

2 に答える 2

4

コンストラクターを使用して 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);
于 2013-01-10T05:46:32.047 に答える
0

Activity で使用するとsetcontentView(R.layout.yourlayout)、後続のすべてがfindViewById()のビューに対応しますyourlayout.xml。2 番目のアクティビティでは、最初のアクティビティのレイアウトのビューを見つけようとしているため、NullPointerException. このアクティビティのビューを別のアクティビティで操作したいのはなぜですか? 最初のアクティビティでビューを操作することをお勧めします。

于 2013-01-10T05:49:30.430 に答える