我有一个带Checkboxes的ListView,(TextView + Checkboxes),我为项目本身做了setOnLongClickListener:
view = inflator.inflate(R.layout.rowbuttonlayout, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.label);
viewHolder.text.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View arg0) {
Viewholder来自我的自定义适配器到我的Listview,我猜不需要指定细节。这工作得很好,问题是:如果我尝试与setOnItemClickLister相同(我只是想做一个“小”点击)我得到错误:
方法setOnItemClickListener(new OnItemClickListener(){})是 未定义TextView
类型
试着这样:
viewHolder.text.setOnItemClickListener(new OnItemClickListener() {
和
viewHolder.text.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener(){
但我总是得到那个错误。我该怎么办?
答案 0 :(得分:3)
我认为您需要一个简单的OnClickListener而不是OnItemClickListener
viewHolder.text.setOnClickListener(new OnClickListener() {
答案 1 :(得分:0)
您正在将“text”参数转换为“TextView”。根据定义,该类没有任何项目。 所以永远不会有“OnItemClick”事件。 您希望在ListView上定义此行为,而不是在项目内的文本上定义。
示例:
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
...
}
);
在你的情况下,你想对你所描述的“...我的Listview ......”采取行动。 另一方面,如果您真的想要对项目中的TextView进行操作,那么您应该为TextView实现“setOnClickListener”方法。
示例:
viewHolder.text.setOnClickListener(new OnClickListener(){
...
}
);