0

我想打開一個列表視圖,當點擊這個項目時,我使用了listfragment和抽屜導航我自定義了默認抽屜導航活動,當我點擊導航抽屜的菜單項時,整個listfragment打開的抽屜導航裏面片段來代替,而由於該即時通訊無法回到抽屜導航活性(點擊其他項目)作爲listfragment打開作爲單獨的片段,這裏是我的代碼如何切換到抽屜導航菜單項上的列表視圖點擊

public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    int id = item.getItemId(); 

    if (id == R.id.teams) { 
     Toast.makeText(this, "Teams clicked", Toast.LENGTH_SHORT).show(); 
     ListFragment listfrag 
     = 
(ListFragment)getSupportFragmentManager().findFragmentByTag("listfragment"); 

     if(listfrag==null){ 
      listfrag =new listFragment(); 

FragmentTransaction transact=getSupportFragmentManager().beginTransaction(); 
      transact.add(android.R.id.content,listfrag,"lstfragment"); 
      transact.commit(); 

     } 

和代碼清單片段

public class listFragment extends ListFragment { 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup 
container, Bundle savedInstanceState) { 

    ViewGroup rootview = 
(ViewGroup) inflater.inflate(R.layout.customlistview, container, false); 

    //data source 
    String[] from = { "flag","txt","cur" }; 

ArrayAdapter<String> adapter=new 
ArrayAdapter<String>(getActivity(),R.layout.listviewitem, R.id.tvteamsname, from); 

    setListAdapter(adapter); 
    // Retain the ListFragment instance across Activity re-creation 
    setRetainInstance(true); 

    return rootview; 

} 
+0

只要打開你的navigationDrawer活動中的框架或容器的listFragment,這是你的navigationDrawer菜單怎麼也可見於你,而你在ListFragment –

+0

你能exaggrate多一點,我可以在哪裏添加片段標籤或什麼? – blackHawk

+0

下面我已經回答了你如何實現這個想法。現在你只需要添加一個框架給你的活動,然後你可以將任何片段替換爲該框架,並且你的導航視圖可以看到前面的片段 –

回答

0

首先添加一幀到您的Activity,您已添加navigationDrawerMenu

FragmentTransaction transact=getSupportFragmentManager().beginTransaction(); 
transact.add(android.R.id.content,listfrag,"lstfragment"); 
transact.commit(); 

替換此代碼

FragmentTransaction transact=getSupportFragmentManager().beginTransaction(); 
transact.replace(R.id.your_frame, listfrag); 
transact.addToBackStack(null); // or you can add some string 
transact.commit(); 
相關問題