我创建了一个Fragment来显示我的Recycler视图.所以我使用方法findFragmentById()来查找我的xml文件.问题是每次我旋转屏幕时,它都会在另一个上面再创建一个回收站视图堆栈.这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListFragment savedFragment = (ListFragment) getSupportFragmentManager().findFragmentById(R.id.list_recyclerview);
if(savedFragment == null)
{
ListFragment fragment = new ListFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.place_holder,fragment);
fragmentTransaction.commit();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我使用findFragmentByTag()方法时 ,它并没有发生.
愿任何人向我解释这两种方法有什么区别?
我为我的应用程序使用底部导航视图,并希望删除图标下的文本.我在互联网上寻找它但仍然无法找到解决方案.有没有人用来处理这个请给我你的解决方案.
我想要的就像这样:
我的代码在这里:主要布局包含recyclerview和bottomnavigationview:
<LinearLayout
android:weightSum="10"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:layout_marginTop="20dp"
android:layout_weight="8.5"
android:id="@+id/recyclerview_menu"
android:layout_width="match_parent"
android:layout_height="0dp">
</android.support.v7.widget.RecyclerView>
<android.support.design.widget.BottomNavigationView
android:background="@color/whiteColor"
android:id="@+id/bottom_navigation_bar"
android:layout_weight="1.5"
app:menu="@menu/menu_bottom_navigation"
android:layout_width="match_parent"
android:layout_height="0dp">
</android.support.design.widget.BottomNavigationView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是bottomnavigation菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_favorites"
android:enabled="true"
android:icon="@drawable/ic_search"
android:title="Home"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_schedules"
android:enabled="true"
android:icon="@drawable/ic_search"
android:title="Search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_music"
android:enabled="true"
android:icon="@drawable/ic_search"
android:title="Save"
app:showAsAction="ifRoom" />
<item
android:id="@+id/action_me"
android:enabled="true"
android:icon="@drawable/ic_search"
android:title="Me"
app:showAsAction="ifRoom" />
Run Code Online (Sandbox Code Playgroud)
在MainActivity中:
mBottomBar = (BottomNavigationView)
findViewById(R.id.bottom_navigation_bar);
disableShiftMode(mBottomBar);
public void disableShiftMode(BottomNavigationView view) {
BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0);
try {
Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode");
shiftingMode.setAccessible(true);
shiftingMode.setBoolean(menuView, …Run Code Online (Sandbox Code Playgroud)