我的Android按钮需要轻按两次才能工作

时间:2018-07-11 14:21:10

标签: java android android-button

我最近遇到一个问题,我的android按钮需要轻按两次才能工作。我已经做了很多研究,但是这些解决方案都没有帮助。这是我的代码:

这是我定义按钮的方式:

<Button
    android:id="@+id/add_to_list_button"
    android:layout_width="35dp"
    android:layout_height="35dp"
    android:layout_marginBottom="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:focusableInTouchMode="false"
    android:text=""
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

它是Recycler View Cell中的一个按钮。这就是我在 Adapter中设置OnclickListener方法的方法! -不是Aktivity或片段:(我已经在适配器中定义了此按钮)

mAddButton = (Button) itemView.findViewById(R.id.add_to_list_button);

这是onBindViewHolder方法

holder.mAddButton.setBackgroundResource(R.mipmap.ic_add_hs_24dp);
holder.mAddButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https:xxx"));
                v.getContext().startActivity(browserIntent);
            }
        });

我希望你们能帮助我确定问题所在。我已经为此工作了两天。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果RecyclerView包含接受输入事件的组件(例如EditText或Spinner),则可能在捕获OnItemClickListener或OnItemLongClickListener()中的单击事件时会出现问题。

可能的解决方案是将您的EditText / Spinner设置为禁用事件,以便将单击事件降级为按钮

您可以通过设置

  

android:focusable =“ false”

  

android:focusableInTouchMode =“ false”