Android 无法获取ListView的McClick事件
我正在使用一个自定义列表视图。当我点击listview时,我没有得到onClick事件 这是我的密码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,
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;
}