それぞれが2つの要素/アイテムで構成されるオブジェクトを含むarraylistをarrayadapterに追加しました。そのアダプターをsetListAdapterに正常に設定しました。次に、リストビューのsetOnItemClickListenerでそれらのアイテムを取得します。
これが私のコードです
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
}
});
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int color = parent.getAdapter().getItem(position);
}
public void onItemClick(AdapterView<?> parent, View view,int position, long id){
something = tweets[position];
}
あなたはアイテムを手に入れて、それらで何をしたいですか?
たとえば、このようなトーストメッセージを作成できます。
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
Toast.makeText(getApplicationContext(), tweets[position], Toast.LENGTH_SHORT).show();
}
お役に立てれば。
また、すべてのデータを含むリストビューを用意していて、オブジェクトの値を取得したい場合は、次を使用してください。
ViewGroup row = (ViewGroup) listprod.getChildAt(0);
TextView tvTest = (TextView) row.findViewById(R.id.textnomprod);
リストビューが "listprod"で、位置の値を取得したい場合、ここでtextnomprodはオブジェクトであり、変数に保存していますtvTest
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
Windows clickedObject = adapter.get(position);
}
}
上記の例で考えてみましょう。
また、ArrayListの前にfinalを付けるようにしてください。
設定されているアダプターを使用して、この問題を解決しました。
TweetListAdaptor adaptor = new TweetListAdaptor(this,R.layout.list_item, tweets);
setListAdapter(adaptor);
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
//here i want to get the items
adaptor.getItem(position); // this is your object
}
});
アダプタを初期化してListViewに設定する必要があることに注意してください。
このようにして、必要なオブジェクトのプロパティにアクセスできます。