[英]Can't get Selected Item Index in custom ArrayAdapter on my ListView
我的Android項目有問題,因為我無法使用自己的ArrayAdapter從我的List中獲取選定的項目索引。 我從教程中嘗試了一些示例,但它們不起作用。 解決辦法是什么?
public class myProductAdapter extends ArrayAdapter<myProductsGroup> {
private List<myProductsGroup> productList;
private Context context;
public myProductAdapter(List<myProductsGroup> productList, Context ctx) {
super(ctx, R.layout.list_products_row, productList);
this.productList = productList;
this.context = ctx;
}
@Override
public int getCount() {
return productList.size();
}
/*
public void onClick(View v) {
int position = Integer.parseInt((String) v.getTag());
OrderFirstGridPage.setSelectedItem(position);
}
*/
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_products_row, parent, false);
}
TextView tv = (TextView) convertView.findViewById(R.id.title);
tv.setTag(""+position);
TextView distView = (TextView) convertView.findViewById(R.id.description);
distView.setTag(""+position);
tv.setText("aa");
return convertView;
}
}
lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(new myProductAdapter(setupArrayProductList((ArrayList<myProduct>) ProductList), OrderFirstGridPage.this));
lv.setSelector(R.drawable.selector_for_position_list);
嘗試使用以下代碼行:
lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(new myProductAdapter(setupArrayProductList((ArrayList<myProduct>) ProductList), OrderFirstGridPage.this));
lv.setSelector(R.drawable.selector_for_position_list);
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent,
View view, int position, long id) {
Log.d("My POSITION",""+position);
}
});
希望您從選定的列表視圖中獲得准確的位置。 如果您有任何問題,請通知我。 希望這會奏效。
您需要實現AdapterView.OnItemClickListener: http : //developer.android.com/reference/android/widget/AdapterView.OnItemClickListener.html
public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id)
在那里,您將獲得每個項目的索引。
您只需將該偵聽器設置為您的列表:
lv.setOnItemClickListener(yourListener);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.