2014-02-17 111 views
1

我已經創建了一個簡單的導航抽屜,使用這個tutorial,導航抽屜中的項目鏈接到它們各自的片段,但是一旦我點擊導航抽屜中的項目,我希望它帶我到ie一個列表視圖。據我所知,它只能鏈接到一個擴展Fragment的java類,只要我提到擴展ListFragment,它就嚇倒了。安卓導航抽屜故障

+1

你是什麼意思與怪胎出?你有一些堆棧跟蹤,錯誤或類似的東西? – axierjhtjz

+0

當我懸停在我遇到的錯誤是不兼容的類型,當我嘗試運行項目我得到 錯誤:不兼容的類型 要求:片段 找到:EastgateFragment 據我所知,是我鏈接項目在導航抽屜的片段,並在該片段我必須鏈接到另一個Java類,是對的。如果是這樣我不知道如何做到這一點 – TheCrazyZimbo

回答

0

這是NavigationDrawer我用:

首先,我設置了點擊監聽到ListView的NavigationDrawer

mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

DrawerItemClickListener其內部的自定義類

private class DrawerItemClickListener implements 
    ListView.OnItemClickListener { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      selectItem(position); 
     } 
    } 

這個電話到selectItem(int position)

private void selectItem(int position) { 
     FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
     switch (position) { 
     case 0: 
      ft.replace(R.id.content_frame, new FirstFragment()); 
      setTitle("First"); 
      break; 
     case 1: 
      ft.replace(R.id.content_frame, new SecondFragment()); 
      setTitle("Second"); 
      break; 
     case 2: 
      ft.replace(R.id.content_frame, new ThirdFragment()); 
      setTitle("Third"); 
      break; 
     } 

     ft.commit(); 
     mDrawerList.setItemChecked(position, true); 
     mDrawerLayout.closeDrawer(mRelativeLayout); 
    } 

在這裏你可以設置任何你想要的任何片段。有了這個,你將不會有任何片段類型不匹配。

此外,您可以按照Android開發人員提供的官方NavigationDrawer示例。

http://developer.android.com/training/implementing-navigation/nav-drawer.html

希望它有幫助。

+0

感謝這一點,但我仍然不能似乎得到它的工作。 – TheCrazyZimbo

+0

也許我看錯了,有沒有更好的方式做我想做的事情? – TheCrazyZimbo

+0

是的,您可以使用包含ListView的簡單片段,並在您的Fragment生命週期的onCreateView方法中引用它。無論如何,我已經告訴你這是一個正常的NavigationDrawer實現。 – axierjhtjz