嗨,我是Android新手,我必须创建一个具有不同项目的导航抽屉。如何在导航抽屉中添加自定义ListView?谢谢
第一行应包含
按钮
。接下来的三个行应包含
TexViews
,最后一行应包含
的EditText
我走了尽可能创造布局但我不知道如何在适配器内调用它。
嗨,我是Android新手,我必须创建一个具有不同项目的导航抽屉。如何在导航抽屉中添加自定义ListView?谢谢
第一行应包含
按钮
。接下来的三个行应包含
TexViews
,最后一行应包含
的EditText
我走了尽可能创造布局但我不知道如何在适配器内调用它。
在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();
}
抽屉式导航不限于一个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作为你的抽屉。
好吧,我有这样的自定义布局。现在我该怎么做? – GabrielOshiro
为什么你想用这个ListView? –
,因为我是Android新手,我不知道任何其他方式。 – freeloader