나는 3 개의 프래그먼트가있는 ViewPager
이 있습니다. 두 가지 모두 제대로 작동합니다. 세 번째 호출기에 문제가 있습니다.이 하나는 TabHost
이며 각 탭에 하나의 조각이 있습니다. 하지만 조각 안에 Tabhost
을 넣을 수는 없다고 읽었습니다. 중첩 된 단편은 금지됩니다.Android ViewPager 및 프래그먼트 디자인
누구든지 내 문제를 해결하기 위해 어떤 조치를 취할 수 있습니까? 대안이 있습니까?
나는 3 개의 프래그먼트가있는 ViewPager
이 있습니다. 두 가지 모두 제대로 작동합니다. 세 번째 호출기에 문제가 있습니다.이 하나는 TabHost
이며 각 탭에 하나의 조각이 있습니다. 하지만 조각 안에 Tabhost
을 넣을 수는 없다고 읽었습니다. 중첩 된 단편은 금지됩니다.Android ViewPager 및 프래그먼트 디자인
누구든지 내 문제를 해결하기 위해 어떤 조치를 취할 수 있습니까? 대안이 있습니까?
이것은 내 문제를 해결하기 위해 수행 한 작업입니다.
탭 호스트가 아니기 때문에 "사용자 지정"이라고 말한 적이 있습니다. 단지 Tabhost가 아니기 때문에 "사용자 지정"이라고 말합니다. ViewPager의 내 조각 중 하나에 4 개의 이미지가 있습니다. .. 조각과 조각의 나머지 부분은 하나의 FrameLayout이 내가 이미지를 터치 할 때마다, 나는 각각의 fragemnt의 프레임에 조각을 대체
내가 몇 가지 코드를 추가합니다.<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow >
<LinearLayout android:id="@+id/button1"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="button1Click"
>
<ImageView android:id="@+id/iv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic1"/>
<TextView android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/text1"/>
</LinearLayout>
<LinearLayout android:id="@+id/button2"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="button2Click"
>
<ImageView android:id="@+id/iv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic2"/>
<TextView android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/text2"/>
</LinearLayout>
<LinearLayout android:id="@+id/button3"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="button3Click"
>
<ImageView android:id="@+id/iv3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic3"/>
<TextView android:id="@+id/tv3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/text3"/>
</LinearLayout>
<LinearLayout android:id="@+id/button4"
android:orientation="vertical"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="button4Click"
>
<ImageView android:id="@+id/iv4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/ic4"/>
<TextView android:id="@+id/tv4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/text4"/>
</LinearLayout>
</TableRow>
</TableLayout>
</LinearLayout>
<FrameLayout android:id="@+id/layout_actual"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
을
단편 활동 :
그리고 마지막으로 FragmentInViewPager (다른 4 조각이 들어있는 하나) 내가 가진의 희망
public void changeFragment(int fragmentId)
{
if(mCurrentFragmentId != fragmentId) {
switch(fragmentId) {
case BUTTON1:
mFTransaction = mFManager.beginTransaction();
mFTransaction.replace(R.id.layout_actual, mFragment1);
mFTransaction.commit();
mIv1.setImageResource(R.drawable.ic1_sel);
mIv2.setImageResource(R.drawable.ic2);
mIv3.setImageResource(R.drawable.ic3);
mIv4.setImageResource(R.drawable.ic4);
break;
case BUTTON2:
mFTransaction = mFManager.beginTransaction();
mFTransaction.replace(R.id.layout_actual, mFragment2);
mFTransaction.commit();
mIv1.setImageResource(R.drawable.ic1);
mIv2.setImageResource(R.drawable.ic2_sel);
mIv3.setImageResource(R.drawable.ic3);
mIv4.setImageResource(R.drawable.ic4);
break;
case BUTTON3:
mFTransaction = mFManager.beginTransaction();
mFTransaction.replace(R.id.layout_actual, mFragment3);
mFTransaction.commit();
mIv1.setImageResource(R.drawable.ic1);
mIv2.setImageResource(R.drawable.ic2);
mIv3.setImageResource(R.drawable.ic3_sel);
mIv4.setImageResource(R.drawable.ic4);
break;
case BUTTON4:
mFTransaction = mFManager.beginTransaction();
mFTransaction.replace(R.id.layout_actual, mFragment4);
mFTransaction.commit();
mIv1.setImageResource(R.drawable.ic1);
mIv2.setImageResource(R.drawable.ic2);
mIv3.setImageResource(R.drawable.ic3);
mIv4.setImageResource(R.drawable.ic4_sel);
break;
}
mCurrentFragmentId = fragmentId;
}
}
에서
public void boton1Click(View v){
mFragmentInViewPager.changeFragment(BUTTON1);
}
public void boton2Click(View v){
mFragmentInViewPager.changeFragment(BUTTON2);
}
public void boton3Click(View v){
mFragmentInViewPager.changeFragment(BUTTON3);
}
public void boton4Click(View v){
mFragmentInViewPager.changeFragment(BUTTON4);
}
잘 자신을 설명했다. 누구든지 더 많은 정보가 필요하면 말해주세요.
이 문제에서 언급 한대로 코드를 참조하면 설계에 따라 작동합니다. Plese see
이 게시물을 [보기 페이지] (http://android-developers.blogspot.com/2011/08/horizontal-view-swiping-with-viewpager.html) 및이 글은 [조각] (http : //developer.android.com/guide/topics/fundamentals/fragments.html) 및이 [조각 탭 호출기] (http://developer.android.com/resources/samples/Support4Demos/src/com/example/android/) supportv4/app/FragmentTabsPager.html). –
감사합니다 Vineet,하지만 난 이미 그들을 보았다. 내 디자인을 바꿀 생각이지만, 어떻게해야할지 모르겠다. 어쨌든 다시 한번 감사드립니다. 프래그먼트와 뷰 페이지를 사용하는 방법을 배우기 위해이 기사를 추천합니다. – gutiory