Java 使用setOnItemClickListener,类型TextView是否未定义?

Java 使用setOnItemClickListener,类型TextView是否未定义?,java,android,Java,Android,我有一个带有复选框的列表视图,(TextView+复选框),我为项目本身设置了长点击监听器: view = inflator.inflate(R.layout.rowbuttonlayout, null); final ViewHolder viewHolder = new ViewHolder(); viewHolder.text = (TextView) view.findViewById(R.id.label); viewHolder.t

我有一个带有复选框的列表视图,(TextView+复选框),我为项目本身设置了长点击监听器:

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方法(新的OnItemClickListener(){})是 类型TextView未定义

试着这样做:

viewHolder.text.setOnItemClickListener(new OnItemClickListener() {

但我总是犯这样的错误。我能做什么?

您正在将“文本”参数转换为“文本视图”。根据定义,此类没有任何项。 因此,永远不会有“Onite McClick”事件。 您希望在ListView上定义此行为,而不是在项目内的文本上

例如:

  ListView lv = getListView();
  lv.setOnItemClickListener(new OnItemClickListener() { 
     ...
     }
  );
  viewHolder.text.setOnClickListener(new OnClickListener(){
     ...
     }
  );
在您的情况下,您希望按照您所描述的“…我的Listview…”进行操作。 另一方面,如果您真的想在项目中对TextView进行操作,那么您应该为TextView实现“setOnClickListener”方法

例如:

  ListView lv = getListView();
  lv.setOnItemClickListener(new OnItemClickListener() { 
     ...
     }
  );
  viewHolder.text.setOnClickListener(new OnClickListener(){
     ...
     }
  );
您正在将“文本”参数强制转换为“文本视图”。根据定义,此类没有任何项。 因此,永远不会有“Onite McClick”事件。 您希望在ListView上定义此行为,而不是在项目内的文本上

例如:

  ListView lv = getListView();
  lv.setOnItemClickListener(new OnItemClickListener() { 
     ...
     }
  );
  viewHolder.text.setOnClickListener(new OnClickListener(){
     ...
     }
  );
在您的情况下,您希望按照您所描述的“…我的Listview…”进行操作。 另一方面,如果您真的想在项目中对TextView进行操作,那么您应该为TextView实现“setOnClickListener”方法

例如:

  ListView lv = getListView();
  lv.setOnItemClickListener(new OnItemClickListener() { 
     ...
     }
  );
  viewHolder.text.setOnClickListener(new OnClickListener(){
     ...
     }
  );

我认为你需要一个普通的onclick监听器而不是一个普通的onclick监听器

viewHolder.text.setOnClickListener(new OnClickListener() {

我认为你需要一个普通的onclick监听器而不是一个普通的onclick监听器

viewHolder.text.setOnClickListener(new OnClickListener() {

目标是显示上下文菜单还是只响应长时间单击?该方法肯定存在:。你在开发什么版本的Android?实际上它并不存在。视图是一个抽象类,TextView没有实现onItemClick,因为它没有任何要单击的项。这就是为什么@Tiago看到这个错误的原因。目标是显示上下文菜单或只是响应长时间单击?该方法肯定存在:。你在开发什么版本的Android?实际上它并不存在。视图是一个抽象类,TextView没有实现onItemClick,因为它没有任何要单击的项。这就是@Tiago看到这个错误的原因