之間的變化我有一個導航抽屜和content_frame內的ViewPagerIndicator。我想在導航抽屜的片段之間切換,但問題是在標籤ViewPager之間切換的作品,但當我切換到另一個選項,你必須刪除ViewPager並把一個新的片段放在這個片段下ViewPager。片段導航抽屜viewpagerindicator
附加照片,所以你可以看到。
1)在這裏,你已經可以看到下面ViewPager.It新片段可以通過顯示的文本區分開來是Prueba
附代碼
activity_main.xml中
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/content_linear"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.viewpagerindicator.TabPageIndicator
android:id="@+id/indicator"
android:layout_height="wrap_content"
android:layout_width="fill_parent"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
</FrameLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>
在片段之間切換的方法。
/** Main content by replacing fragments
* @param position
*/
private void selectItem(int position) {
//Code
Fragment fragment = new TryFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
switch (position) {
case 0:
mPager.setCurrentItem(0);
break;
case 1:
mPager.setCurrentItem(1);
break;
case 2:
ft.replace(R.id.content_frame, fragment);
break;
}
ft.commit();
mAdapter.notifyDataSetChanged();
//Close drawer
mDrawerLayout.closeDrawer(mDrawerList);
}
類TryFragment
class TryFragment extends Fragment
{
public static final String ARG_PLANET_NUMBER = "planet_number";
public TryFragment()
{
// Empty constructor required for fragment subclasses
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
TextView text = new TextView(getActivity());
text.setGravity(Gravity.CENTER);
text.setText("Prueba");
text.setTextSize(20 * getResources().getDisplayMetrics().density);
text.setPadding(20, 20, 20, 20);
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
layout.addView(text);
Log.d("TestFragment", "Estoy en el fragment");
return layout;
}
}
我不知道如果我要摧毀viewpager以顯示新的片段或層級中的XML的一個問題。
我不瞭解你。 – TeRRo
據我所知,您需要替換ViewPager時,從導航抽屜選擇另一個項目。因此,您需要將ViewPager分開,並在需要時將其分配給contant_frame。 –
我有3個選項,第一個和第二個標籤是ViewPager,第三個是我必須刪除ViewPager顯示該片段。 – TeRRo