リストビューと検索バーを使用している Android アプリケーションを開発しています。検索したアイテムをクリックすると、クリックされたアイテムではなく、開始アイテムが表示されます。
選択したアイテムの位置を取得する方法を教えてもらえますか?
これを使用して、選択したアイテムの位置を取得できます
YourList.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
SelectedId = YourList.getItemIdAtPosition(arg2);}});
-getItemIdAtPosition()
メソッドを使用します。
例えば:
ListView lv = (ListView) findViewById(R.id.listView_ProductList);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
i = new Intent(ProductActivity.this, ProductDetails.class);
// i.putExtra("keyAapo", arg2 );
i.putExtra("keyAapo", (int) lv.getItemIdAtPosition(arg2));
startActivity(i);
}
});
まず、listview
項目をクリックしながら、
position
そのアイテムの を取得しますlistview
strings
/values
があればそれに渡しintent
ます。次のように移動するための意図class
:
YourListView.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Cursor listItem = (Cursor)<YourListView>.getItemAtPosition(position);
String lID = listItem.getString(1);
Intent i= new Intent(<ClassName>.this, <Navigate to Class>.class)
i.putExtra("lID", lID); // key-value pair
startActivity(i);
}});