2015-02-09 275 views
1

我想簡單的添加到導航抽屜菜單。添加按鈕,導航抽屜片段

這是main_activity.xml

<fragment android:id="@+id/navigation_drawer" 
     android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:name="eu.foulidis.giannis.agiospaisios.NavigationDrawerFragment" 
     tools:layout="@layout/fragment_navigation_drawer" /> 

片段UI片段定義:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 


    <Button 
     android:layout_width="wrap_content" 
     android:id="@+id/btnLogin" 
     android:text="@string/com_facebook_picker_done_button_text" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" /> 

    <ListView xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
     android:layout_height="match_parent" android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" android:dividerHeight="0dp" 
     android:background="#ff6e1f18" tools:context=".NavigationDrawerFragment" 
     android:layout_above="@id/btnLogin" 
     android:layout_alignParentTop="true" 
     android:id="@+id/myListView" 
     /> 
</RelativeLayout> 


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

     mDrawerListView = (ListView) inflater.inflate(
       R.layout.fragment_navigation_drawer, container, false).findViewById(R.id.myListView); 

沒有它的工作原理的按鈕,但是當我加入我的異常按鈕:

android.view.InflateException: Binary XML file line #25: Error inflating class fragment 

任何想法可能是什麼問題?

+0

'(ListView控件)inflater.inflate( R.layout.fragment_navigation_drawer,容器,FALSE);'你肯定:'fragment_navigation_drawer'可以轉換爲'listView'?我認爲這裏有些問題!添加一個按鈕後,它是一個'relativelayout' – 2015-02-10 01:08:33

+0

是的,我也試過'findViewById',同樣的錯誤。 – giannisf 2015-02-10 08:43:49

+0

當然,'findViewById'不能幫忙。我的意思是你可能有鑄造問題。這應該很容易解決。 – 2015-02-10 21:52:53

回答

0

難道是因爲你在XML文件中兩次宣佈了Android命名空間(XMLNS)?

我從ListView中刪除命名空間,並將它們放在父RelativeLayout中,它適用於我。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 


    <Button 
     android:layout_width="wrap_content" 
     android:id="@+id/btnLogin" 
     android:text="@string/com_facebook_picker_done_button_text" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" /> 

    <ListView android:layout_width="match_parent" 
     android:layout_height="match_parent" android:choiceMode="singleChoice" 
     android:divider="@android:color/transparent" android:dividerHeight="0dp" 
     android:background="#ff6e1f18" tools:context=".NavigationDrawerFragment" 
     android:layout_above="@id/btnLogin" 
     android:layout_alignParentTop="true" 
     android:id="@+id/myListView" 
    /> 

</RelativeLayout>