に表示するフラグメントは、私は現在、私の活動のいくつかの断片(ホーム、ヘルプ、について)を持つナビゲーション引き出しを持っています。起動時にHomeを開きます。私が抱えている問題は、私は、このようなヘルプとして別のフラグメントに移動して、ときに寝て、その後、常にホームの代わりに、助けに戻ります戻って、その上に携帯電話をオンにするために電話をかけるに進んでいることです。アンドロイド - 履歴書
私はライフサイクルに非常に新しいですが、別のフラグメントから再開する方法についていくつかのフィードバックを得ることを期待していました。
編集:関連コード 更新:再開時にビューを再初期化するため、これが発生したことを認識しました。現在のタブの位置を保存し、onResume()
に保存された位置に移動するためにそれを使用する
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initializeUI();
}
private void initializeUI() {
fragAbout = new About();
fragHelp = new Help();
fragHome = new MyViewPager();
// Adding fragments to activity
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.add(R.id.main_activity_fraglayout, fragHome);
transaction.commit();
...
}
private void addDrawerItems() {
...
DrawerItemAdapter drawerAdapter = new DrawerItemAdapter(this, R.layout.nav_list_row, drawerItems);
mDrawerList.setAdapter(drawerAdapter);
mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch (position) {
case 0:
...
newFragOnClick(fragHome, "Home");
break;
case 1:
...
newFragOnClick(fragSettings, "Help");
break;
case 2:
...
newFragOnClick(fragAbout, "About");
break;
default:
break;
}
}
});
}
private void newFragOnClick(Fragment frag, String actionBarTitle){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
transaction.replace(R.id.main_activity_fraglayout, frag);
transaction.commit();
}
あなたの活動の完全なコードをアップロードしてください –
あなたはホストされたアクティビティからこのナビゲーションを処理し、ホストされたアクティビティ – Farhan
@Farhan YeahのonResume()の目的のフラグメントを置き換えます。ありがとう! – WonderfulWonder