Пытаясь установить кнопки, невидимые в программе RecycleView, из опций моего меню действий, но ничего не происходит. Я создал метод в адаптере программы Riderler и в держателе bindview я задаю оператор if, чтобы изменить видимость. Упражнение, которое я настроил так, как вы бы назвали метод. Что мне не хватает? Спасибо
public class PostRecyclerAdapter extendsRecyclerView.Adapter<PostRecyclerAdapter.ViewHolder> {
private boolean activate = false;
public PostRecyclerAdapter(Context context, List<Post> blogList) {
this.context = context;
this.postList = blogList;
}
public PostRecyclerAdapter() {
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
final int itemPos = position;
final Post post = postList.get(position);
holder.title.setText(post.getTitle());
holder.desc.setText(post.getDesc());
holder.category.setText(post.getTag());
holder.edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editClassifiedAd(post.getPostId());
}
});
holder.delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
deleteClassifiedAd(post.getPostId(), itemPos);
}
});
if (activate) {
holder.edit.setVisibility(View.VISIBLE);
holder.delete.setVisibility(View.VISIBLE);
} else {
holder.edit.setVisibility(View.INVISIBLE);
holder.delete.setVisibility(View.INVISIBLE);
}
}
public void activateButtons(boolean activate) {
this.activate = activate;
notifyDataSetChanged();
}
PostListActivity.java
public class PostListActivity extends AppCompatActivity{
PostRecyclerAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post_list);
postListFrgmt();
mAdapter = new PostRecyclerAdapter();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.edit:
if(item.isChecked()){
// If item already checked then unchecked it
item.setChecked(false);
mAdapter.activateButtons(true);
}else{
// If item is unchecked then checked it
item.setChecked(true);
mAdapter.activateButtons(false);
}
return true;
default:
return super.onOptionsItemSelected(item);
}
return super.onOptionsItemSelected(item);
}