2つのクラスがあります。ビューを設定する MainActivity と、MainActivity でビューを更新する ClassX です。ClassX は、関連する場合、MainActivity から呼び出される AsyncTask です。
私がやりたいことは、mainTextLog というビューのテキストを変更することです。グローバル TextView 変数を宣言し、onCreate() メソッドで findViewById() を使用してビューに設定しました。
private TextView logger;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
logger = (TextView) findViewById(R.id.mainTextLog);
}
今では、onCreate() からテキストを変更できるはずです。しかし、別のクラス (ClassX) から変更したいので、そのためのメソッドを作成する必要があります。
public void setLogText(String text) {
logger.setText(text);
}
しかし、うまくいきません。ロガーと setLogText() メソッドを静的にしようとしましたが、それでも機能しません。アプリがクラッシュするだけです。
それはおそらくかなり簡単ですが、私はアイデアがありません。