重複しないでください。リスナーをクリックした後でリストビューからアイテムを1つ取得する方法
私はこの質問を以前に聞いたことがありますが、誰も私の問題を解決しません。ここに私の問題があります: 私は検索アクションを実行したいです。データはデータベースからフェッチされ、listViewに表示されます。 1つのユーザー名をクリックすると、userIDが2番目のアクティビティに渡され、プロフィールが表示されます。データにはユーザーID、ユーザー名、性別、住所が含まれますが、1つの項目userIDのみが2番目のアクティビティに渡されます。 私は多くのチュートリアルを検索しましたが、このようなものは何も見つかりませんでした。
もう一度繰り返しますが、重複しないでください。ここで
は私のコードです:
listView.setAdapter(adapterSearchElements);
adapterSearchElements = new AdapterSearchElements(this, R.layout.searchresultcutomrow);
listView.setAdapter(adapterSearchElements);
json_string = getIntent().getExtras().getString("json_data");
try {
jsonObject = new JSONObject(json_string);
jsonArray = jsonObject.getJSONArray("server_response");
int count = 0;
for (int k = 0; k < jsonArray.length(); k++) {
// while (count < jsonArray.length()) {
// JSONObject JO = jsonArray.getJSONObject(count);
JSONObject JO = jsonArray.getJSONObject(Integer.parseInt(String.valueOf(k)));
user_id = JO.getString("user_id");
name = JO.getString("name");
Gender = JO.getString("Gender");
address = JO.getString("address");
final SearchResultsElements searchResultsElements = new SearchResultsElements(user_id,name, Gender, address);
adapterSearchElements.add(searchResultsElements);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// String userid=searchResultsElements.getUser_id();
// final String item = (String)parent.getItemIdAtPosition(position);
Intent i = new Intent(DisplaySearchResults.this, FriendsProfile.class);
i.putExtra("user_id", user_id);
startActivity(i);
}
});
// count++;
}
} catch (JSONException e) {
e.printStackTrace();
}
あなたはどの部分に問題がありますか?正しいユーザーIDを新しいアクティビティに渡す方法、または 'ListView'も正しく表示されないのかどうかを調べるだけですか? –
listViewは正しく表示されていますが、選択したユーザーIDを2番目のアクティビティに渡したい場合は、自分の名前またはアドレスではなくuserIDのみを受け取ります。 – Bebo
listViewから選択したユーザーIDを取得して2番目のアクティビティに渡す方法を知りたい@GeorgeMulligan – Bebo