我的每个列表视图项目都有自己的linearlayout组件。列表视图位于活动中,并且onItemClick本身。

在我的自定义适配器文件中,我对该线性布局进行了onclick,

private ArrayList<Book> bookArray; // this is the data source
 .........

LinearLayout imgLayout = (LinearLayout) rowView.findViewById(R.id.imageLayout);
imgLayout.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) { // fire user Like
        //*** how can I get which item is selected here?


但是,如何获得单击了线性布局的项目索引?

问候
锤子

最佳答案

使用setTag()getTag()记住正数,并在单击LinearLayout时使用它。
在getView中

LinearLayout imgLayout = (LinearLayout) rowView.findViewById(R.id.imageLayout);
imgLayout .setTag(position);

并进入LinearLayout的onclick中
imgLayout.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        int position = (Integer)v.getTag();
        //....
    }
}

10-07 19:20
查看更多