Ah, that makes sense.  I knew it might have been related to something with 
Fragments I didn't understand as I am new to them.  The only thing I'm not 
sure if is, I can use findFragmentById to retrieve the MyListFragment, but 
the MyDetailFragment would have the same id, with a different argument, 
wouldn't it.  Would I have to use findFragmentByTag, instead?


On Saturday, February 9, 2013 2:33:13 PM UTC-5, FiltrSoft wrote:
>
> I'm having some issue with using a ViewPager and two different layouts for 
> my app.  My app has a listing and details view.  When the device is in 
> potrait, I'm using a ViewPager, where the user can swipe between the 
> different detail views and when the device is in landscape, I'm showing 
> both view on the screen.  The issue I'm having is when the device is 
> rotated from portait to landscape, the menu items in the Actionbar are 
> duplicating and each time I rotate from portrait to landscape, they 
> duplicate over and over so the entire Actionbar is full of icons.  When I 
> put a breakpoint in onCreateOptionsMenu, the breakpoint is hit over and 
> over and over when the device is rotated.  This is the applicable code:
>
> *Starting activity:*
>
> public class Main extends SherlockFragmentActivity    {
>     private static List<Fragment> fragments;
>
>     @Override
>     public void onCreate(final Bundle icicle)
>     {    
>         setContentView(R.layout.main);
>     }
>     
>     @Override
>     public void onResume()
>     {
>         mViewPager = (ViewPager)findViewById(R.id.viewpager);
>         
>         if (mViewPager != null) //landscape layout doesn't user a viewpager
>         {
>             fragments = new ArrayList<Fragment>();
>             
>             fragments.add(new MyListFragment()); //fragment with the 
> ListView
>             
>             fragments.add(MyDetailFragment.newInstance(0));
>             fragments.add(MyDetailFragment.newInstance(1));
>             fragments.add(MyDetailFragment.newInstance(2));
>             
>             mMyFragmentPagerAdapter = new 
> MyFragmentPagerAdapter(getSupportFragmentManager());
>             mViewPager.setAdapter(mMyFragmentPagerAdapter);
>         }
>     }
>     
>     private static class MyFragmentPagerAdapter extends 
> FragmentStatePagerAdapter  {  
>         
>         public MyFragmentPagerAdapter(FragmentManager fm) {  
>              super(fm);  
>         }  
>         
>         @Override 
>         public Fragment getItem(int index) {
>             return fragments.get(index);
>         }  
>
>         @Override
>         public int getCount() {  
>              return 4;  
>         }
>         
>         @Override
>         public int getItemPosition(Object object) {
>             return POSITION_NONE;
>         }
>    }
> }
>
> *Main Layout (portrait):*
>
> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android";
>     android:orientation="vertical"
>     android:layout_height="fill_parent"
>     android:layout_width="fill_parent"
> >
>
>     <android.support.v4.view.ViewPager
>         android:id="@+id/viewpager"
>         android:layout_height="match_parent"
>         android:layout_width="match_parent"
>      />
>         
>  </RelativeLayout>
>  
>
> *Main Layout (landscape):*
>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
>     android:orientation="horizontal"
>     android:layout_height="fill_parent"
>     android:layout_width="fill_parent"
>     android:weightSum="3"
> >
>     <fragment android:name="com.app.MyListFragment"
>             android:id="@+id/fragmentList"
>             android:layout_weight="1"
>             android:layout_width="0dp"
>             android:layout_height="fill_parent"
>      />
>         
>     <fragment android:name="com.app.MyDetailFragment"    
>             android:id="@+id/fragmentDetail"
>             android:layout_width="0dp"
>             android:layout_weight="2"
>             android:layout_height="fill_parent"
>      />
>
> </LinearLayout>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to