1

我有一个使用 XML 文件填充的 ListView。但是,我希望每个项目在单击时启动一个与该项目相关的新活动。

我了解如何使用 OnItemClick 启动显示所选项目文本的 Toast。但是,由于 ListView 是从 XML 填充的,因此列表中的每个项目都没有特定的 Id。

那么,当项目没有 Id 时,我如何将 Activity 与 ListView 中的每个项目相关联?

4

1 回答 1

0

在您的 XML 文件中维护必须以数字或字符串格式调用的 Activity 的节点。然后有一个集合中的活动列表,这些活动正在实现某个接口/抽象类,以便您可以循环它。活动也有一个静态字段/方法,它返回它们的参考号或字符串,所以你也可以比较。

一些草图:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <category
        name="Item One"
        id="grp1" />
    <category
        name="Item Two"
        id="grp2" />
</resources>

在 Java 中:

    List<AbstractTable> col = new ArrayList<AbstractTable>();
    col.add(new clsGroup1(this.ctx));
    col.add(new clsGroup2(this.ctx));

    for (AbstractTablecls : col) {
                if (cls.getTag().equals(varFromListSelection)) {
                         //launch intent of this class
                }
            }

wheregetTag()返回类的标识符,例如:grp1grp2

于 2010-03-22T07:28:22.433 回答