1

私は2つのListActivityを持つAndroidアプリを書いています。

ListActivity1->OnItemClick->詳細ページを正しく開きますListActivity1->メニューオプション->ListActivity2を開きますListActivity2->OnItemClick->ListActivity2のリストアイテムの詳細を開く必要があります

ただし、2番目のリストアクティビティのonListItemClickで取得する「id」は正しくありません。

ListActivity 1 onListItemClickハンドラー:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);

Intent c = new Intent(this, ADisplay.class);
c.putExtra(ABDbAdapter.A_FIELD_ID, id);
startActivityForResult(c, ACTIVITY_DISPLAY);
}

ListActivity 2 onListItemClickハンドラー:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);

Intent c = new Intent(this, TDisplay.class);
c.putExtra(ABDbAdapter.T_FIELD_ID, id);
startActivityForResult(c, ACTIVITY_DISPLAY);
}

ListActivity 1には、主キー「_id」を持つテーブル1のデータがあります。ListActivity2には、主キー「_id」を持つテーブル2のデータがあります。これが問題になる可能性がありますか?

4

1 に答える 1

1

この問題は解決されました。2番目のlistactivityは、結合を使用してテーブルからデータをフェッチすることによって作成されました。両方のテーブルに_idフィールドがあり、使用された選択は「選択」ではなく「選択*」でした。これにより、2番目のテーブルのIDを期待していましたが、最初のテーブルのIDが返されました。

joinステートメントを修正し、問題を解決しました。

返信してくれたBBdevBarakに感謝します

于 2012-09-01T07:27:57.410 に答える