使用ListView构建菜单

时间:2011-06-12 22:08:07

标签: android

我的应用程序有一个主菜单,我使用ListView来表示它。由于这是一个菜单,我将根据用户点击的项目实施操作。

我目前的实现如下:

  • 在strings.xml中,我有一个菜单项名称的字符串数组。
  • 在主菜单的活动中,我给字符串数组充气:itemList = getResources().getStringArray(R.array.main_menu_array);(itemList是静态String[]
  • 然后我为ListView设置了一个适配器:listView.setAdapter(new ArrayAdapter<String>(this, R.layout.main_menu_item, itemList));R.layout.main_menu_item指定每个菜单项的布局。它基本上只是一个带有几个属性的TextView。)
  • 我为ListView设置了OnItemClickListener

匿名OnItemClickListener类实现onItemClick(),就像这样

public void onItemClick(AdapterView<?> parent, View view, int position,
        long id) {
    switch (position) {
    case POS_ITEM_A:
        ... break;
    case POS_ITEM_B:
        ... break;
    }
}

POS_ITEM_APOS_ITEM_B final static变量分别设置为0和1。

我认为这不是好的代码。我该如何解决?

1 个答案:

答案 0 :(得分:1)

你可以用微调器完成,但代码几乎相同。

另一个更简单但更不易扩展的替代方法是使用AlertDialog.Buidler并使用setMultipleChoices method。或者general documentation page

但是列表视图并不是那么糟糕。对于一个小功能,我建议使用对话框构建器来操作应用程序的主要对象,使用列表视图或微调器。