加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 无法在ListView上的自定义ArrayAdapter中获取Selected I

发布时间:2020-12-15 04:10:35 所属栏目:Java 来源:网络整理
导读:我的 Android项目有问题,因为我无法使用自己的ArrayAdapter从我的List中获取选定的项目索引.我从教程中尝试了一些示例,但它们不起作用.解决办法是什么? 适配器 public class myProductAdapter extends ArrayAdaptermyProductsGroup { private ListmyProduct
我的 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);

                                            }
                                        });

希望您从选定的列表视图中获得准确的位置.如果您有任何问题,请通知我.希望这会奏效.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读