Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法获取ListView的McClick事件_Android_Listviewitem - Fatal编程技术网

Android 无法获取ListView的McClick事件

Android 无法获取ListView的McClick事件,android,listviewitem,Android,Listviewitem,我正在使用一个自定义列表视图。当我点击listview时,我没有得到onClick事件 这是我的密码 lvlList = (ListView)findViewById(R.id.lvlList); lvlList.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> a, View v,

我正在使用一个自定义列表视图。当我点击listview时,我没有得到onClick事件

这是我的密码

        lvlList = (ListView)findViewById(R.id.lvlList);
        lvlList.setOnItemClickListener(new OnItemClickListener() 
        {
            public void onItemClick(AdapterView<?> a, View v,int position, long id) 
            {
                Toast.makeText(getBaseContext(), "Click", Toast.LENGTH_LONG).show();
            }
        });

lvlList.setAdapter(new OrderAdapter(getBaseContext()));

选中此项:

首先,设置适配器,然后在listview上设置单击侦听器事件。然后重试。

如果列表中有可单击的项目,则必须使用焦点才能接收列表项目单击事件和列表项目子单击事件

创建列表项时,在列表项上调用以下代码:

listItem.setDescendantFocusability(FOCUS_BLOCK_DESCENDANTS);

在上找到,回答#27

确保您的自定义布局在可能的
文本视图之前没有
复选框
。您可以使用
ImageView
来实现
复选框的功能。

您需要设置
android:genderantfocusability=“blocksDescendants”
在线性布局或您一直使用的任何布局的自定义xml布局文件中。(用于定义自定义行)

这应该解决你的问题。因为它确实解决了我的问题。如果它解决了,请把我的帖子作为你的答案

你也可以参考评论,试试这个

  if (convertView == null) 
    {
        convertView = mInflater.inflate(R.layout.example, null);
        holder = new ViewHolder();

        holder.txtTest = (TextView) convertView.findViewById(R.id.txtTest);
        convertView.setClickable(true);
        convertView.setOnClickListener(new OnClickListener() {          
            @Override
            public void onClick(View v) {
         }
       }

        convertView.setTag(holder);

    } 
    else 
    {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.txtTest.setText(Util.SampleTest.get(position));
                return convertView;
}

清单上有什么项目吗。您正在设置McClick。您能发布OrderAdapter的代码吗?是的,列表中有20多个项目。这里我添加了我的OrderAdapter.list在listview中显示..?是的,它在listview中显示。getItem应该返回Util.SampleTest.get(位置),但我认为这不是问题所在。我已经有了这段代码。但是我不喜欢这样做。那么你显然不会让onclickitemlistener工作:)可聚焦对象似乎绑定onclick事件,并放置在列表项上。如果不超过..@Override public void onItemClick(AdapterView arg0,View arg1,int arg2,long arg3),则听起来相当合理{//TODO自动生成的方法存根}此函数写出create方法并在活动中实现OnClickListener您正在将xml用于列表视图控件…?check clickable属性为disable或editable属性设置为listview的任何控件…我选中了它。我不会申报任何这样的财产。
  if (convertView == null) 
    {
        convertView = mInflater.inflate(R.layout.example, null);
        holder = new ViewHolder();

        holder.txtTest = (TextView) convertView.findViewById(R.id.txtTest);
        convertView.setClickable(true);
        convertView.setOnClickListener(new OnClickListener() {          
            @Override
            public void onClick(View v) {
         }
       }

        convertView.setTag(holder);

    } 
    else 
    {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.txtTest.setText(Util.SampleTest.get(position));
                return convertView;
}