gpt4 book ai didi

android - 从 Activity 中隐藏 recyclerview 中的按钮,菜单不起作用

转载 作者:行者123 更新时间:2023-11-30 05:08:23 25 4
gpt4 key购买 nike

尝试通过我的 Activity 菜单选项将按钮设置为在 recyclerview 中不可见,但它没有做任何事情我在 recyclerview 适配器和 bindviewholder 上创建了一个方法,我设置了 if 语句来更改可见性。我按照您调用方法的方式设置 Activity 。我错过了什么?谢谢

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);
}

最佳答案

在 PostListActivity 中,您实际上并未将适配器设置为 RecyclerView。您需要添加您的 recyclerview,给它一个 LayoutManager(线性或其他方式),然后将适配器传递给它。例如

//assuming you've declared the RecyclerView as recyclerView1
recylcerView1.setLayoutManager(new LinearLayoutManager(PostListActivity.this));
recylcerView1.setAdapter(mAdapter)

关于android - 从 Activity 中隐藏 recyclerview 中的按钮,菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com