アンドロイドTabActivity
で。タブにアクセスするたびにタブをリロードしたい。たとえば、データベースからデータを取得するタブがある場合、タブアクティビティが表示されるたびにデータをフェッチしたいと思います。
データベースからデータを取得する操作をonCreate
関数に配置する必要がある場所onResume
..??
アンドロイドTabActivity
で。タブにアクセスするたびにタブをリロードしたい。たとえば、データベースからデータを取得するタブがある場合、タブアクティビティが表示されるたびにデータをフェッチしたいと思います。
データベースからデータを取得する操作をonCreate
関数に配置する必要がある場所onResume
..??
この最初のタブのように使用します
public class TabsActivity extends TabActivity {
TabSpec spec1 = tabHost.newTabSpec("tabone");
spec1.setIndicator(createTabView(tabHost.getContext(), "tabone", R.drawable.tab_home));
Intent inte = new Intent(TabsActivity.this, PhotosActivity.class);
inte.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
spec1.setContent(inte);
TabSpec spec2 = tabHost.newTabSpec("tabtwo");
spec2.setIndicator(createTabView(tabHost.getContext(), "tabtwo", R.drawable.tab_account));
Intent _int = new Intent(TabsActivity.this, TabTwoActivity.class);
_int.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
spec2.setContent(_int);
tabHost.addTab(spec1);
tabHost.addTab(spec2);
2番目のタブ
public class TabTwoActivity extends TabActivity {
TabSpec spec1 = tabHostacc.newTabSpec("tabone");
spec1.setIndicator(createTabView(tabHostacc.getContext(), "tabone", R.drawable.tab_home));
Intent inte = new Intent(TabTwoActivity .this, yourfirstActivity.class);
inte.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
spec1.setContent(inte);
TabSpec spec2 = tabHostacc.newTabSpec("tabtwo");
spec2.setIndicator(createTabView(tabHostacc.getContext(), "tabtwo", R.drawable.tab_account));
Intent _int = new Intent(TabTwoActivity .this, yoursecondActivity.class);
_int.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
spec2.setContent(_int);
tabHostacc.addTab(spec1);
tabHostacc.addTab(spec2);
操作をに入れますOnTabChangeListener
。ここで、現在選択されているタブを確認できます。それに応じてコーディングを行ってください。
これをチェックしてください
これを実現する簡単な方法:アクティビティのonPauseメソッドでfinish()を呼び出します。
public void onPause() {
super.onPause();
finish();
}
しかし、あなたは本当にこれをするべきではありません。アクティビティのライフサイクルを尊重し、ユーザーがこのタブに切り替えるたびに必要なことをonCreate()からonResume()に移動します。
あなたのために物事を片付けるために:
-onCreate()は、最初にタブに切り替えたときに呼び出されます-または、システムによって、またはfinish()を呼び出して強制終了された場合
-onResume()は、タブに切り替えるたびに呼び出されます
-タブから切り替えるとonPause()が呼び出されます
最善の方法:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setup your contentview etc
}
public void onResume() {
super.onResume();
//get your data
}