Я пытаюсь передать int pub_or_priv
из моего Activity1
в Myadapter
.
Я просмотрел здесь посты и думаю, что следил за ними правильно, но он все еще не работает.Значение в моем adapter
всегда равно 0
, тогда как оно должно быть 0
, 1
или 2
, как в случае со значением в моем Activity1
.
Вот что ясделано.
В моем Activity1
я получаю "publicorprivate"
с моего сервера и преобразую его в int
с:
//convert public_or_private to an integer
pub_or_priv = Integer.parseInt(obj.getString("publicorprivate"));
Для разных ячеек в моем recyclerView
это будет 0
, 1
или 2
.
Теперь я хочу передать это моему adapter
, поэтому в моем adapter
contructor
у меня есть:
public MyAdapter(List<Review> reviewUsers, Activity activity, int pub_or_priv) {
this.activity = activity;
the_reviews = reviewUsers;
this.mPub_or_priv = pub_or_priv;
}
И в моем Activity1
:
pAdapter = new MyAdapter(reviewList, this, pub_or_priv);
Затем в MyAdapter
:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder viewHolder, final int position) {
Review r = the_reviews.get(position);
//shared_status will be Just U, Private or Public
String shared_status ="";
if(mPub_or_priv==0){
//change colour depending on value
((ReviewHolder) viewHolder).phone_user_name.setTextColor(Color.parseColor("#DA850B"));
shared_status = "Just U";
}
if(mPub_or_priv==1){
((ReviewHolder) viewHolder).phone_user_name.setTextColor(Color.parseColor("#0A7FDA"));
shared_status = "Private";
}
if(mPub_or_priv==2){
((ReviewHolder) viewHolder).phone_user_name.setTextColor(Color.parseColor("#2AB40E"));
shared_status = "Public";
}
((ReviewHolder) viewHolder).phone_user_name.setText(shared_status);
etc..etc..
Однако в recyclerView
во всех клетках phone_user_name
textbox
всегда "Just U"
, в цвете #DA850B
, тогда как на самом деле он должен быть Private
и Public
в некоторых ячейках, согласно значению pub_or_priv
в Activity1
.
Как мне правильно ввести pub_or_priv
в мой adapter
?, спасибо.