2012-12-31 74 views
0

這是我的第一個問題,所以我會嘗試b儘可能精確。我正在嘗試使用片段活動,片段列表和查看傳呼器來創建應用程序。當活動默認加載時,片段列表應該顯示在左側,視圖分頁器顯示在右側(詳細視圖)。當我點擊其中一個片段列表按鈕時,我想在詳細視圖(右側)中加載web視圖。ViewPager和片段活動中的FragmentList

我已經使用Fragment List實現了片段活動。現在怎麼查看傳呼機添加到這一點,以便它顯示了應用程序加載的時候了..

public class MainActivity extends FragmentActivity implements McDonaldsListener { 

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

McDonaldsFragment countries 
    =(McDonaldsFragment)getSupportFragmentManager() 
         .findFragmentById(R.id.countries); 

countries.setCountryListener(this); 

Fragment f=getSupportFragmentManager().findFragmentById(R.id.details); 


    countries.enablePersistentSelection(); 

    } 

@Override 
    public void onCountrySelected(McDonalds c) { 
String url=getString(c.url); 


    ((DetailsFragment)getSupportFragmentManager() 
         .findFragmentById(R.id.details)) 
         .loadUrl(url);        


    } 
} 

還有其他支持類,其是否有必要,我將它張貼。

希望有人能爲我提供一些解決方案。

編輯: 這就是我想實現,但dosent工作....給出了實例化異常:(

public class ViewPagerExample extends android.support.v4.app.FragmentActivity  implements McDonaldsListener { 
private MyAdapter mAdapter; 
private ViewPager mPager; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mAdapter = new MyAdapter(getSupportFragmentManager()); 

    mPager = (ViewPager) findViewById(R.id.pager); 
    mPager.setAdapter(mAdapter); 


    McDonaldsFragment mc 
    =(McDonaldsFragment)getSupportFragmentManager() 
          .findFragmentById(R.id.countries); 

    mc.setCountryListener(this); 

    Fragment f=getSupportFragmentManager().findFragmentById(R.id.details); 

    mc.enablePersistentSelection(); 
} 

public void onCountrySelected(McDonalds c) { 
    String url=getString(c.url); 


    ((DetailsFragment)getSupportFragmentManager() 
          .findFragmentById(R.id.details)) 
          .loadUrl(url);        


} 

public static class MyAdapter extends FragmentPagerAdapter { 
    public MyAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public int getCount() { 
     return 3; 
    } 

    @Override 
    public Fragment getItem(int position) { 
     switch (position) { 
     case 0: 
      return new DetailFragment(); 
     case 1: 
      return new ImageFragment(R.drawable.ic_launcher); 
     case 2: 
      return new ImageFragment(R.drawable.ic_launcher); 

     default: 
      return null; 
     } 
    } 
    } 
} 

回答