私はAndroidアプリケーションを作成しています。内部Fragment
には、ListView
と を使用して入力された がArrayAdapter
ありArrayList
ます。android.R.layout.simple_list_item_1
リスト項目のレイアウトに使用しています。アイテムがクリックされると、そのデータに基づいてOnItemClickListener
別のアイテムが表示されるように、 が必要です。Activity
問題は、同じ名前のアイテムが存在する可能性があることです。コードで各要素を区別できるように、各要素に ID 値を付けたいと思います。
リストの入力に使用するアイテムは、データを保持するためのカスタム クラスのものですが、ここで重要なフィールドは ID と名前 ( に示されていますListView
) です。
を入力するための私のコードListView
:
List<String> items;
ArrayAdapter<String> adapter;
List<MyCustomDataObject> listOfDataObjects;
...
// Get the ListView
ListView list = (ListView) layoutRootView.findViewById(R.id.listView1);
// Create the item List and the ArrayAdapter for it
items = new ArrayList<String>();
adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, items);
// Set the list adapter
list.setAdapter(adapter);
// Add the data items
for (MyCustomDataObject obj : listOfDataObjects) {
items.add(obj.name);
}
items.add(getResources().getString(R.string.no_items));
// Create the item click listener
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Open the Activity based on the item
}
});
各項目を識別するためにリスト項目に ID を追加するにはどうすればよいですか?