在我的android项目中,我使用自定义列表视图来显示信息。在列表视图的每个元素中(列表视图中的每一行)都有几个可单击的可执行文本视图。我为listview添加了lstvw.setItemsCanFocus(true),现在我可以选择任何可点击的textview并点击。
----------------
textviewclick1
textviewclick2
----------------
textviewclick1
textviewclick2
----------------
continue......
但无法弄清楚如何为每个可点击的textview处理onClick事件,因为BaseAdapter类中的getView()方法对我来说有点混乱。
我在ListviewAdapter类中实现了onclickListener,我扩展了BaseAdapter并创建了它。
public class ListVWAdapter extends BaseAdapter implements OnClickListener{ implementation...}
任何人都可以建议我如何处理onClick(视图)方法来处理所有可点击的textview项目。
我尝试了以下方式,但没有正常工作。我全局声明了ViewHolder视图,因为我想在这个方法中访问它而不是在getView()方法中以正常方式声明它。但是通过检查if (convertView == null)
@Override
public void onClick(View v) {
if(v==holder.txtViewTitle)
Toast.makeText(v.getContext(), "Link1 : "+ String.valueOf(currentPosition), Toast.LENGTH_LONG).show();
if(v==holder.txtViewDescription)
Toast.makeText(v.getContext(), "Link2 : "+ String.valueOf(currentPosition), Toast.LENGTH_LONG).show();
}
答案 0 :(得分:2)
在列表项xml中,<TextView..>
设置android:onClick="onFirstLinkClick"
。同样适用于第二个TextView
然后在activity类中实现这个
public void onFirstLinkClick(View V) {
// handle click
}
类似于第二个textview的另一种方法。这应该有用。