Androidアプリケーションにリストビューがあります。このリストビューの各要素内に表示されるコンテンツは単なる文字列ですが、アプリケーションロジックの場合、各リストビューアイテムには3つの文字列(Name、id、rating)が関連付けられている必要があります。 1つ(名前)を表示する必要があるため、この問題は次のように要約できます。
1-すべてのリストビュー要素は3つの文字列で構成されます2-1つだけが表示されます3-アイテムがクリックされるとすべての文字列が使用可能になります
Androidアプリケーションにリストビューがあります。このリストビューの各要素内に表示されるコンテンツは単なる文字列ですが、アプリケーションロジックの場合、各リストビューアイテムには3つの文字列(Name、id、rating)が関連付けられている必要があります。 1つ(名前)を表示する必要があるため、この問題は次のように要約できます。
1-すべてのリストビュー要素は3つの文字列で構成されます2-1つだけが表示されます3-アイテムがクリックされるとすべての文字列が使用可能になります
データをラップする新しいオブジェクトを作成し、配列アダプターにこれらのオブジェクトのリストを使用します。
public class MyObject {
private final String name;
private final int id;
private final int rating;
public MyObject(String name, int id, int rating){
this.name = name;
this.id = id;
this.rating = rating;
}
public String getName(){
return name;
}
public int getId(){
return id;
}
public int getRating(){
return rating;
}
}
アクティビティでリストを作成します。
MyObject myObject = new MyObject("Name" 123, 5);
MyObject mySecondObject = new MyObject("Name2" 124, 1);
List<MyObject> list = new ArrayList<MyObject>;
list.add(myObject);
list.add(mySecondObject);
このリストをアレイ アダプタに渡します。アダプタに移動したら、getView を使用します。
以下は、大まかにあなたがすべきことです:
@Override
public void getView(View v, int position){
// ... something something
MyObject anObject = (MyObject) list.get(position);
v.setText(anObject.getName()); // This is the main point
/// ... something something
return v;
}