带有按钮的ListView项目吞下触摸事件

Mic*_*len 5 android listview android-layout

我正在开发一个Android应用程序,我在其中显示项目列表,并允许用户点击星形图标到最喜欢的项目,然后将显示在单独的活动中.

对于此列表,我使用RelativeLayout和ImageView作为图标,TextView作为项目名称,按钮作为收藏按钮.

我遇到的问题是没有按钮,列表项会正确触摸并响应触摸时发光.但是按钮然后它们没有正确发光,但是它们会触发我放在android的所有方法:relativeLayout的onClick xml属性

有谁知道解决这种行为的方法?

小智 8

使用ImageButton时,你必须打电话

myImageButton.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)

以编程方式,因为它的构造函数将其设置为true.您可以通过覆盖适配器的getView方法来实现:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = super.getView(position, convertView, parent);
    view.findViewById(R.id.idOfYourImageButton).setFocusable(false);
    return view;
}
Run Code Online (Sandbox Code Playgroud)


100*_*abh 1

您是否将 listview 设置focusablefalse

这里有一些类似的问题

ListView 内可聚焦的 EditText

使用带有错误可聚焦的复选框,仍然会阻止列表视图点击

还有更多这里