2012-12-22 144 views
1

我想AKS的一般方法將如何與SlidingMenu的幫助顯示ViewPager片段內: https://github.com/jfeinstein10/SlidingMenuViewPager在片段與SlidingMenu

有兩個例子,弗里斯特一個是ResponsiveUI例子有一個工作菜單(它改變了鳥的圖片),但是,我不知道如何成功改變顯示不同的ViewPagers。

另一個示例是ViewPager示例。它創建一個ViewPager以在各種顏色之間滑動,但是,這並不帶有工作滑動菜單。

它甚至有可能這樣做嗎?

我試圖簡單地用ViewPagerFragment

mContent = new ViewPagerFragment(); 
    getSupportFragmentManager() 
    .beginTransaction() 
    .replace(R.id.content_frame, mContent) 
    .commit();  

更換內容,但我得到以下錯誤:

java.lang.IllegalStateException: Recursive entry to executePendingTransactions 

完全logcat的位置:http://pastebin.com/aD2BSAja

+0

是你能理清你的問題? – pzagor2

回答

0
public class MainActivity extends SlidingFragmentActivity { 

    ViewPager mViewPager; 
    FragmentPagerAdapter mPagerAdapter; 
    protected ListFragment mFrag; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.view_pager_and_titles); 

     // set the Behind View 
     setBehindContentView(R.layout.menu_frame); 
     FragmentTransaction t = this.getSupportFragmentManager() 
       .beginTransaction(); 
     mFrag = new SampleListFragment(); 
     t.replace(R.id.menu_frame, mFrag); 
     t.commit(); 

     // customize the SlidingMenu 
     SlidingMenu sm = getSlidingMenu(); 
     sm.setShadowWidthRes(R.dimen.shadow_width); 
     sm.setShadowDrawable(R.drawable.shadow); 
     sm.setBehindOffsetRes(R.dimen.actionbar_home_width); 
     setSlidingActionBarEnabled(true); 

       //ViewPager adapter 
     mPagerAdapter = new FragmentPagerAdapter(getSupportFragmentManager()); 
     final ActionBar mActionBar = getSupportActionBar(); 
     mActionBar.setDisplayHomeAsUpEnabled(true); 

     mViewPager = (ViewPager) findViewById(R.id.pager); 
     mViewPager.setAdapter(mPagerAdapter); 

    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
     case android.R.id.home: 
      toggle(); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 

}