相关疑难解决方法(0)

Android:具有多个可单击按钮的ListView元素

我有一个ListView地方,列表中的每个元素都包含一个TextView和两个不同的按钮.像这样的东西:

ListView
--------------------
[Text]
[Button 1][Button 2]
--------------------
[Text]
[Button 1][Button 2]
--------------------
... (and so on) ...
Run Code Online (Sandbox Code Playgroud)

使用此代码,我可以OnItemClickListener为整个项目创建一个:

listView.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> list, View view, int position, long id) {
        Log.i(TAG, "onListItemClick: " + position);

        }

    }
});
Run Code Online (Sandbox Code Playgroud)

但是,我不希望整个项目是可点击的,而只是每个列表元素的两个按钮.

所以我的问题是,如何使用以下参数为这两个按钮实现onClickListener:

  • int button (单击了元素的哪个按钮)
  • int position (这是按钮单击发生的列表中的元素)

更新:我找到了一个解决方案,如下面的答案中所述.现在我可以通过触摸屏点击/点击按钮.但是,我无法使用轨迹球手动选择它.它总是选择整个列表项,并从那里直接进入下一个列表项忽略按钮,即使我设置.setFocusable(true)setClickable(true)按钮getView().

我还将此代码添加到我的自定义列表适配器:

@Override
public boolean  areAllItemsEnabled() {
    return false;           
}

@Override
public boolean isEnabled(int position) {
        return false;
} …
Run Code Online (Sandbox Code Playgroud)

android listview button

182
推荐指数
6
解决办法
22万
查看次数

标签 统计

android ×1

button ×1

listview ×1