スワイプ可能なタブ ビューの MainActivity で materialTabHost と viewPager を使用しました。また、ナビゲーション ドロワーを追加しました。ナビゲーション ドロワーにリストされているアイテムをクリックすると、関連するフラグメントが開きます。クリックして戻ると、MainActivity に移動します。しかし、ここでの問題は、ナビゲーションドロワーにもリストされている意図の共有にあります。共有をクリックすると、共有ダイアログが開きますが、戻るボタンを押しても MainActivity に移動せず、代わりにアプリが閉じます。
関連するコードは次のとおりです。
...........
mDrawerToggle = getActionBarDrawerToggle();
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerList = (ListView) findViewById(R.id.list_drawer);
mListTitles = new String[]{
getString(R.string.title_section1),
getString(R.string.title_section2),
getString(R.string.title_section3),
getString(R.string.title_section4),
getString(R.string.title_section5),
};
mDrawerList.setAdapter(new ArrayAdapter<>(this,
R.layout.drawer_list_item, mListTitles));
.....
void newFragment(int position) {
switch (position) {
case 0:
mFragment = new VideoFragment(AppGlobals.DIRECTORY.VIDEOS);
mViewPager.removeAllViews();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.executePendingTransactions();
fragmentManager.beginTransaction().replace(R.id.container, mFragment).commit();
break;
case 1:
mFragment = new VideoFragment(AppGlobals.DIRECTORY.PICTURES);
mViewPager.removeAllViews();
FragmentManager fragmentManager2 = getSupportFragmentManager();
fragmentManager2.executePendingTransactions();
fragmentManager2.beginTransaction().replace(R.id.container, mFragment).commit();
break;
case 2:
mFragment = new SettingFragment();
mViewPager.removeAllViews();
FragmentManager fragmentManager3 = getSupportFragmentManager();
fragmentManager3.executePendingTransactions();
fragmentManager3.beginTransaction().replace(R.id.container, mFragment).commit();
break;
case 3:
mFragment = new AboutFragment();
mViewPager.removeAllViews();
FragmentManager fragmentManager4 = getSupportFragmentManager();
fragmentManager4.executePendingTransactions();
fragmentManager4.beginTransaction().replace(R.id.container, mFragment).commit();
break;
case 4:
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
StringBuilder shareBody = new StringBuilder().append("Hey, I just downloaded abc app. Really awesome app for Background/Silent video recording. Helpful for stopping bribe takers. Download from below link: https://play.google.com/store/apps/details?id=").append(getPackageName().toString());
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "abc app [High Definition]");
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody.toString());
startActivity(Intent.createChooser(shareIntent, "Share via"));
break;
default:
return;
}
}
使用可能なインテント フラグはありますか、またはいくつかの変更を加える必要があります。お願い助けて。ありがとう。