Android ListView子项目

威廉·刘

我最近为Android应用程序创建了一个新的ListView对象,但是遇到一些错误。当我尝试使用简单适配器创建包含列表中子项目的项目时,创建的最新项目与其他项目重叠。我正在使用地图列表来创建项目。

例如,如果我在地图列表中添加一个显示“ 1”的子项,并且其子项显示“ A1”,则将显示该子项和子项。但是,如果我向地图列表中添加名为“ 2”的子项为“ B2”的新项目,则“ 1”和“ A1”将被替换为“ 2”和“ B2”。ListView上仍然有2个项目,但是其中一个为空,另一个为“ 2”和“ B2”

这是我的代码:

List<Map<String, String>> data = new ArrayList<Map<String, String>>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ListView lv = (ListView)findViewById(R.id.listView1);

        Map<String, String> datum = new HashMap<String, String>();
        datum.put("RouterName", "Test1");
        datum.put("RouterIP", "SubTest1");
        data.add(datum);

        Map<String, String> datum2 = new HashMap<String, String>();
        datum.put("RouterName", "Test2");
        datum.put("RouterIP", "SubTest2");
        data.add(datum2);

        SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[] {"RouterName", "RouterIP"}, new int[] {android.R.id.text1, android.R.id.text2});
        lv.setAdapter(adapter);
    }

更改列表类型将不起作用,因为简单适配器专门使用“地图列表”。

西瓦库马尔

嗨,我在存储在Hashmap中时发现了一些小错误。在那个HashMap对象没有创建。前一个实例将被删除。

请使用下面的代码。希望对您有帮助。

    ArrayList<HashMap<String, String>> data;
    private String[] titleArray,subItemArray;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.listview);
    ListView lv = (ListView)findViewById(R.id.listview);
    data = new ArrayList<HashMap<String, String>>();
    titleArray=new String[]{"Test1","Test2"};
    subItemArray=new String[]{"SubTest1","SubTest2"};
    for(int i=0;i<titleArray.length;i++){
        HashMap<String,String> datum = new HashMap<String, String>();
        datum.put("RouterName", titleArray[i]);
        datum.put("RouterIP", subItemArray[i]);
        data.add(datum);
    }
    SimpleAdapter adapter = new SimpleAdapter(this, data, android.R.layout.simple_list_item_2, new String[] {"RouterName", "RouterIP"}, new int[] {android.R.id.text1, android.R.id.text2});
    lv.setAdapter(adapter);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据在Android中选择的项目更新ListView中的子项目

来自分类Dev

如何在Android上运行离子项目?

来自分类Dev

创建android子项目时发生错误

来自分类Dev

phonegap:创建android子项目时发生错误

来自分类Dev

无法添加Android平台并构建离子项目了吗?

来自分类Dev

phonegap:创建android子项目时发生错误

来自分类Dev

Listview子项目前色

来自分类Dev

尝试在具有子项目引用的Android项目上使用“ cordova build”时出错

来自分类Dev

由于找不到路径,因此在创建android子项目期间发生错误

来自分类Dev

如何使用Gradle向每个子项目注入Android配置?

来自分类Dev

Gradle / Android:将“ root”指定为子项目的依赖项

来自分类Dev

Phonegap:创建android子项目时发生错误。(OS X)

来自分类Dev

更改listview子项目的前景色

来自分类Dev

ListView中的子项目和列名称未显示

来自分类Dev

如何在Listview中添加子项目和空间

来自分类Dev

Listview上的Android子项

来自分类Dev

Gradle-构建子项目子项目

来自分类Dev

停止点击子项目

来自分类Dev

什么是子项目提交?

来自分类Dev

微调子项目

来自分类Dev

停止点击子项目

来自分类Dev

网络应用子项目

来自分类Dev

sbt 子项目:dependsOn

来自分类Dev

根据项目和子项目的文本查找ListView项目

来自分类Dev

Android在listView中获取子项

来自分类Dev

将Listview子项目字符串转换为货币

来自分类Dev

改进在Listview中绘制子项目以吸收Windows外观的方式

来自分类Dev

当子项目是当前目录时,为什么我的gradle子项目没有配置为子项目?

来自分类Dev

禁用sbt子项目doc生成