android - 使用适配器的多个 ListView

标签 android listview android-listview android-arrayadapter

我是 android 的新手,我想知道如何在 android 中实现多个 Listview,所以我创建了一个包含 4 个字符串数组的应用

<string-array name="menu1">
    <item>Break Fast</item>
    <item>Lunch</item>
    <item>Dinner</item>
</string-array>
<string-array name="breakfast">
    <item>idly</item>
    <item>dosa</item>
    <item>pongal</item>
    <item>puri</item>
    <item>chapathi</item>
</string-array>
<string-array name="lunch">
    <item>Meals</item>
    <item>Curd Rice</item>
    <item>Biriyani</item>
    <item>Tomato Rice</item>
    <item>Chapathi</item>
</string-array>
<string-array name="dinner">
    <item>idly</item>
    <item>dosa</item>
    <item>parotta</item>
    <item>puri</item>
    <item>chapathi</item>
</string-array>

当我单击菜单 1 项 Breakfast 时,另一个 ListView 想要在该 ListView 中调用它想要显示早餐字符串数组中相关的项目 simulary 其他项目想要被称为我们如何做到这一点

主要 Activity

public class MainActivity extends ActionBarActivity {
ListView listView;
String[] menus;
String[] breakfast;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    listView= (ListView) findViewById(R.id.listView);
    menus=getResources().getStringArray(R.array.menu1);
    breakfast=getResources().getStringArray(R.array.breakfast);
    ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,R.layout.first_menu,R.id.textView,menus);
    listView.setAdapter(adapter);
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent= new Intent(MainActivity.this,MenuTwo.class);


        }
    });


}

最佳答案

在 onClick 监听器中创建一个 switch case,更新菜单数据并调用 notifydatasetchanged :

    switch(item)
{

case 0: menu = ....; break;
case 1: menu = ....; break;

...
}

adapter.notifydatasetChanged();

您还需要更新点击监听器。更好的方法是使用新的 Listview 在点击时显示相关项目

关于android - 使用适配器的多个 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32921826/

相关文章:

Android从上下文菜单上的自定义 ListView 中获取选定的文本

c# - asp.net 中的水平 ListView

android - 使用 scrollTo ListView 时不刷新,手动滚动时刷新

java - 使用 ListView 滚动布局 android

Android 从命令行停止模拟器

java - 我在与输入颜色 channel 相关的 inRange 函数上遇到错误

java - 底部的 android 菜单

android - 如何从 Assets 文件夹中的图像创建可绘制对象?

java - 使用自定义选择器的 ListView 项目背景

Android - 如何设置 ListView 的最大大小