我已经实现了Navigation Drawer,它是Activity的子类.我的应用程序中有很多片段.我的问题在这里
想象一下有3个片段:
Fragment_1:Fragment_2:Fragment_3
当我启动我的应用程序时,Fragment_1被加载当我点击Fragment_1上的一些组件时,我将导航到Fragment_2,依此类推.
所以它就像
Fragment_1> Fragment_2> Fragment_3
当我从Fragment_2按回键时,我被导航回Fragment_1但是当我从Fragment_3按回键时,我被导航回Fragment_1(而不是Fragment_2)
我在Back Key按下的应用程序中想要这样的东西
Fragment_1 <Fragment_2 <Fragment_3
我使用Fragment,FragmentManager,FragmentTransaction如下:
MyFragment fragment = new MyFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).addToBackStack(null)commit();
Run Code Online (Sandbox Code Playgroud)
我尝试在我的MainActivity中覆盖onBackPressed():
@Override
public void onBackPressed() {
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
int count = getFragmentManager().getBackStackEntryCount();
if (count == 0)
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud) 我尝试从stackoverflow上找到的所有答案设置不同的Gradle Vm选项,但似乎没有任何工作我在Android Studio 1.2.2上当我尝试在模拟器上运行应用程序时出现此错误或装置.

只有对我有用的是我需要在不同的目录中设置新项目,但它只适用于3个实例然后爆炸,弹出这个错误.上述过程进行10次是一项繁琐的工作.
Edit_1:我甚至尝试过无效的缓存/重启,但没有成功
我想将标签文本(最多8个字符)放在一行中
我为TabLayout元素添加了自定义样式
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
</style>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:maxLines">1</item>
<item name="android:singleLine">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
仍然没有成功.我也试过了
<android.support.design.widget.TabLayout
app:tabTextAppearance="@style/MyCustomTabTextAppearance"
..
..
/>
Run Code Online (Sandbox Code Playgroud) android android-layout android-view android-viewpager android-tablayout