数日前に私は同じ問題に直面しています。しかし今、私はそれを解決しました。
次のようにしてください。
以下のようにButtonを拡張するDontPressWithParentButtonという1つのクラスを作成します。
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
public class DontPressWithParentButton extends Button {
public DontPressWithParentButton(Context context) {
super(context);
}
public DontPressWithParentButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public DontPressWithParentButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setPressed(boolean pressed) {
if (pressed && getParent() instanceof View && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
}
次に、アイテム行のxmlで、次のようにButtonを定義します(YOUR_APP_PACKAGEの代わりにパッケージを追加します)
<YOUR_APP_PACKAGE.DontPressWithParentButton android:id="@+id/deleteBtn" android:layout_width="100dp"
android:layout_height="wrap_content" android:layout_alignParentRight="true"
android:textColor="#FFFFFF"
android:text="Approve"
android:focusable="false"
android:focusableInTouchMode="false"
/>
次に、以下のようにJavaファイルでIDを参照します。
DontPressWithParentButton deleteGameBtn=(DontPressWithParentButton) findViewById(R.id.deleteGameBtn);
次に、プロジェクトを実行します。あなたはあなたが望むものを手に入れるでしょう。
何か質問があればコメントしてください。