I need to get different path whether user is logged in or not - recyclerview

Viewed 35

I'm sorry if the question already exist, but I didn't know what to look for. I just need ideas for a solution. so my problem is that I need to get different activities when I click cardview on recyclerview, but my cardview onclicklistener existing on my adapter and I don't know if or how i can check if the user is logged in.

i'll add my onclicklistener from my adapter.

            @Override
            public void onClick(View view) {

                Intent intent = new Intent(mContext, DetailActivity.class);
                intent.putExtra("Image", myFoodList.get(holder.getAdapterPosition()).getItemImage());
                intent.putExtra("Description", myFoodList.get(holder.getAdapterPosition()).getItemDescription());
                intent.putExtra("keyValue",myFoodList.get(holder.getAdapterPosition()).getKey());
                mContext.startActivity(intent);

            }
        });```


thank you for your help
1 Answers

Below is a demo of the idea:

I don't know what kind of authentication you use, but anyway in your activity that creates the adapter you should pass some flag that states if the user is signed in or not:

In your Activity:

class YourActivity .........{

private String loggedIn;
...........


//in onCreate()

//if user is logged in 

loggedIn = "yes";

//else

loggedIn = "no";

//some where when you initialize the adapter


//pass the state
adapter = new MyAdapter(..........., loggedIn);

...........



}

In the Adapter:

class MyAdapter ........{

private String loggedIn;
......
.....

public MyAdapter(.........., String loggedIn){
.....
.....
.....

this.loggedIn = loggedIn;
}

When you click the item in the adapter:

        @Override
        public void onClick(View view) {



            if(loggedIn.equals("yes")){

            //logged in......

            Intent intent = new Intent(mContext, DetailActivity.class);
            intent.putExtra("Image", myFoodList.get(holder.getAdapterPosition()).getItemImage());
            intent.putExtra("Description", myFoodList.get(holder.getAdapterPosition()).getItemDescription());
            intent.putExtra("keyValue",myFoodList.get(holder.getAdapterPosition()).getKey());
            mContext.startActivity(intent);

            }else{
             //not logged in open some other activity......

            }

        }
    });



}
Related