如何在导航抽屉里面添加自定义ListView?每行不同的视图

问题描述 投票:-3回答:2

嗨,我是Android开发的新手,我必须创建一个包含不同项目的导航抽屉。

第一行应包含一个

按键

。接下来的三行应该包含

TexViews

,最后一行应该包含一个

的EditText

我已经离开了创建布局,但我不知道如何在适配器内调用它。

android listview drawer
2个回答
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
投票

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();
}
© www.soinside.com 2019 - 2024. All rights reserved.