私は3つのフィールド、idとトピックと内容を持つテーブルを持っています、idは主キーです。 1)リストビューにトピックを表示し、アダプターを使用して照会結果のデータを入力します。 2)ユーザーがトピックをクリックした場合は、照会で対応するコンテンツをdb内のIDで表示します(トピックは重複する可能性があるためidはdbを照会するものであり、レコードは削除される可能性があるので、idは位置と同じではない可能性があります) idを最初のリスト項目に結合するにはどうすればいいですか?それを得るのは簡単ですが、それを表示しませんでしたか?前もって感謝します。android listview idの組み合わせ
2
A
答えて
1
私は現在、私は仕上げているアプリで何か似ています。大きな違いは、ユーザーにデータベースの削除や追加を許可しないということです。だから、私はpositioninview()が次のテーブルを呼び出し、その選択に基づいてカーソルを得ることができます。まず、あなたのデータベースを2つのテーブルにすることをお勧めします。トピックを持つものとあなたのコンテンツを持つもの。コンテンツテーブルに「トップID」の列を追加します。次に、onclicklistenerでメソッドを設定して、クリックされた項目のカーソル内の位置を取得し、そのIDを文字列に保存する必要があります。このIDを使用してカーソルをフィルタリングし、必要なコンテンツを取得します。
public Cursor getSource()
{
return myDataBase.query(SOURCE_TABLE, new String[]{
KEY_ID, KEY_SOURCEDESC, KEY_CATEGORY,},
KEY_CATEGORY+ "=" + categories.categoryClick, null, null, null, KEY_SOURCEDESC);
}
上記のコードでは、KEY_CATEGORYがトピックキーになります。 categories.categoryClickは保存したIDの値になります。
データを単純なアダプタまたはカーソルアダプタの 'ListView 'にどのようにバインドしますか? – Luksprog
あなたのアダプタークラスを投稿してください。 – Hiral
ここで私の答えを参照できます:http://stackoverflow.com/questions/9475636/how-to-get-rowid-of-custom-listviews-selected-rows-child/9476638#9476638 – Hiral