アクティビティを開始せずに、インテントを介して 1 つのアクティビティからデータを渡す方法を知りたいです。TabViews を使用していますが、他のアクティビティを開始すると、MainActivity.tabHost.setCurrentTab(2); を使用しているため、TabView と TabIcons が失われます。タブを切り替えます。
btnShowResult.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
result = database.getResult();
MainActivity.tabHost.setCurrentTab(2);
}
});
ボタンをクリックすると、グローバル変数の結果を定義し、データベースからの値を入力します。3 番目のタブが読み込まれ、そこで txtView.setText(SecondTab.result+""); を呼び出します。
これは、ボタンを初めてクリックしたときに正常に機能します。ただし、変数の結果を変更しても、更新されないため、txtView には影響しません。
グローバル変数の結果を変更した後、txtView を更新するにはどうすればよいですか? ThirdTab.txtView.invalidate(); の呼び出し onClick-Function でアプリがクラッシュします。
ありがとう。
編集:
大丈夫。結果をsharedPrefsに保存し、そこから2番目のタブにロードすることで、SharedPreferencesでそれを行いました。ただし、txtView に表示された結果は同じままで、変更されません。sharedPrefs の結果が変更された後、2 番目のタブに txtView を更新するように指示する場所と方法を教えてください。