我的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); } });
希望您从选定的列表视图中获得准确的位置.如果您有任何问题,请通知我.希望这会奏效.
总结以上是内存溢出为你收集整理的java – 无法在ListView上的自定义ArrayAdapter中获取Selected Item Index全部内容,希望文章能够帮你解决java – 无法在ListView上的自定义ArrayAdapter中获取Selected Item Index所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)