Android: how do I exclude a CardView's checkbox from a LongClick method?

AJW

I have CardViews in a ReyclerView list. I set up so that a LongClick on a CardView launches a DialogFragment. On the CardView is a checkbox and I want to exclude the checkbox from the LongClick method; that is, I don't want the DialogFragment to load if the checkbox is LongClicked. I added 'android:longClickable="false"' and 'android:focusable="false"' to the CardView layout but that did not work. How would I achieve?

Adapter file:    
...
public static class ListViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {

    CardView singleCardView;

    TextView cardBlankText1;
    TextView cardBlankTextNumstotal;
    CheckBox chkSelected;
    TextView cardBlankText2;
    TextView cardBlankText4;
    TextView cardBlankText5A;
    TextView cardBlankText5B;
    TextView cardBlankText6;
    TextView cardBlankText7;
    TextView cardBlankText8;

    public ListViewHolder(View itemView) {
        super(itemView);

        itemView.setOnLongClickListener(this);
        singleCardView = (CardView) itemView.findViewById(R.id.singlecard_view1);

        chkSelected = (CheckBox) itemView.findViewById(R.id.chkSelected);
        cardBlankText1 = (TextView) itemView.findViewById(R.id.cardBlankText1);
        cardBlankTextNumstotal = (TextView) itemView.findViewById(R.id.cardBlankTextNumstotal);
        cardBlankText2 = (TextView) itemView.findViewById(R.id.cardBlankText2);
        cardBlankText4 = (TextView) itemView.findViewById(R.id.cardBlankText4);
        cardBlankText5A = (TextView) itemView.findViewById(R.id.cardBlankText5A);
        cardBlankText5B = (TextView) itemView.findViewById(R.id.cardBlankText5B);
        cardBlankText6 = (TextView) itemView.findViewById(R.id.cardBlankText6);
        cardBlankText7 = (TextView) itemView.findViewById(R.id.cardBlankText7);
        cardBlankText8 = (TextView) itemView.findViewById(R.id.cardBlankText8);

        chkSelected.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick (View view){
                return true;
            }
        });
    } 
    @Override
    public boolean onLongClick(View view) {
        clickListener.onItemLongClick(getAdapterPosition(), view);
        return false;
    }
}

public void setonItemClickListener(ClickListener  clickListener) {
    ListAdapter.clickListener = clickListener;
}

public interface ClickListener {
    void onItemLongClick(int position, View view);
}
Dr. Nitpick

Get the checkbox and set an empty OnLongClickListener on it. This will consume the event and prevent the parent CardView from getting it:

View checkbox = container.findViewById(R.id.checkbox);

checkbox.setOnLongClickListener(new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View view) {
      //make sure to return true here so the parent cardview doesn't get the event.
      return true;
    }
});

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How do I exclude a directory, like `node_modules` from Android Studio's Open File window?

How I do Exclude Android Project Submodule's test from Gradle test

How do I get CardView size in Android?

How do I exclude ABI from Android App Bundle?

How to handle the longclick in android

How do I exclude `.` and `..` from a directory listing

How do I setState from toggle checkbox?

How do I exclude a dependency from being pinned by Spring Boot's dependency management plugin?

How do I exclude static files from ASP.NET Core's authorization fallback policy

How do I require ActiveSupport's rescue_from method?

How do I call a child's method from the parent class?

How do I call a base class's own method from another method when it's overridden?

How do I exclude List B from List A in Kusto?

How do I exclude a single row from groupby().transform() in pandas?

How do I exclude a null element from an ArrayList?

How do I exclude files from git ls-files?

How do I exclude a specific extension from recursive file copying?

How do I exclude particular words from a match?

How do I exclude files from a jest cli command?

How do I exclude the "require('react')" from my Browserified bundle?

How do I exclude an additional worksheet from this function?

How do I exclude files from karma code coverage report?

How do I exclude commented lines from searches in Xcode?

How do I exclude a port from OpenVPN on Raspbian?

How do I exclude files from git archive?

How do I exclude a row from a jQuery function?

How do I exclude certain characters from pattern matching in regex?

How do I exclude a property from being mapped

How do I exclude an index signature from a type?