2014-05-01 91 views
-3

嗨,我是Android新手,我必须创建一个具有不同项目的导航抽屉。如何在导航抽屉中添加自定义ListView?谢谢

第一行应包含

按钮

。接下来的三个行应包含

TexViews

,最后一行应包含

的EditText

我走了尽可能创造布局但我不知道如何在适配器内调用它。

+0

为什么你想用这个ListView? –

+0

,因为我是Android新手,我不知道任何其他方式。 – freeloader

回答

0

getView中,您需要检查getItem(position)中的项目是什么类型,并根据该项目扩大适当的布局。

@Override 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    NavDrawerItem item = getItem(position); 
    if (item.getType() == BUTTON_ITEM_TYPE) 
    { 
     convertView = inflater.inflate(R.layout.navdrawer_button, parent, false); 
     //get references to individual views, etc. 
    } 
} 

与项接口等

public interface NavDrawerItem 
{ 
    public static final int BUTTON_ITEM_TYPE = 1; 
    public static final int TEXTVIEW_ITEM_TYPE = 2; 

    public int getId(); 

    public String getLabel(); 

    public int getType(); 
} 
1

抽屉式导航不限于一个ListView。也许这就是你想选择一个的原因。您可以使用任何View/ViewGroup来构建您的抽屉。尝试一个LinearLayout与您选择的一些子视图。就像这样:

<LinearLayout 
    android:id="@+id/drawer_view" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_gravity="start"> 

    <Button 
     .../> 
    <TextView 
     .../> 

</LinearLayout> 

这只是一个例子,表明你不必坚持ListView作为你的抽屉。

+0

好吧,我有这样的自定义布局。现在我该怎么做? – GabrielOshiro