1

Androidにこれがあるかどうか、またはそうする方法があるかどうかはわかりません。私はドキュメントを見ましたが、この用途のために特別に何も見ていません。役に立つかもしれない好ましい方法はありますか?どんな助けでも大歓迎です。

TextViewメンバーのアジェンダリストに必要です。しかし、ユーザーが1つをクリックすると、そのアジェンダ情報にアクセスする方法が必要です。たとえば、データベースからIDを保存してそのイベント情報を参照するのと同じように、ユーザーには非表示にする必要があります。

4

1 に答える 1

4

とを使用するsetTag()getTag()、好きなタイプのオブジェクトを渡すことができます。

これがリファレンスです。

コメントから追加

1つのカーソルですべてを保持するよりも、データベースを数回クエリするのが最も簡単だと思います。

たとえば、次のような列を持つテーブルがある場合:events(_id, name, startTime, endTime, people, etc)。電話をかけることもできますSELECT * FROM eventsが、1つか2つのイベントの詳細だけが必要な場合は、それは過剰に思えます。SELECT _id, name FROM eventsこれをクエリしてListViewに保存する方が理にかなっています。次に、次のことができます。

listView.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        detailCursor = database.rawQuery(`SELECT * FROM events WHERE _id = ?`, new String[] { id });
        // Display this event's details somehow
    }
}

このようなセカンダリカーソルは最も単純です。使用済みイベントの詳細にメモリを割り当てず、これらの繰り返されるマイナークエリによるパフォーマンスの大幅な低下はありません。このような場合、ビューのタグには何も保存しません。一般カーソル(すべてのイベントのIDと名前)と詳細カーソルで、必要なものがすべて表示されます。

お役に立てば幸いです。

于 2012-06-03T20:33:26.877 に答える