1

XML ファイルを使用して設定された ListView があります。ただし、各アイテムをクリックすると、そのアイテムに関連する新しいアクティビティが開始されます。

OnItemClick を使用して、選択したアイテムのテキストを表示するトーストを開始する方法を理解しています。ただし、ListView は XML から入力されるため、リスト内の各項目に固有の ID はありません。

では、アイテムに ID がない場合、ListView の各アイテムにアクティビティを関連付けるにはどうすればよいでしょうか。

4

1 に答える 1

0

XML ファイルで、呼び出す必要があるアクティビティのノードを、数値または文字列形式で維持します。次に、特定のインターフェイス/抽象クラスを実装しているコレクション内のアクティビティのリストを作成して、ループできるようにします。また、アクティビティには、参照番号または文字列を返す静的フィールド/メソッドがあるため、比較することもできます。

いくつかのスケッチ:

<?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()は、クラスの識別子を返します。例: grp1orgrp2

于 2010-03-22T07:28:22.433 に答える