【发布时间】:2019-08-12 03:30:42
【问题描述】:
我有活动 A 和 B。活动 B 使用回收视图 Adpater 来显示信息列表。从活动 A,我将意图发送到用于工具栏标题的活动 B。 但我也需要在 Adapter 类中也有同样的意图。
那么我如何将意图值从 Activity A 传递到 B 并在适配器类中也使用相同的意图。
我的活动 A 有代码
Intent new = new Intent(itemView.getContext(), B.class);
phy.putExtra("key","This is title"); itemView.getContext().startActivity(new);
在活动 B 中,我有
getSupportActionBar().setTitle(getIntent().getStringExtra("key"));
我也想要适配器类中的键值。
Activity B的代码是
public class RoomlistActivity extends AppCompatActivity {
DatabaseReference dbreference,dbref;
RecyclerView rv;
ArrayList<Roompost> list;
private RoomAdapter staggeredBooksAdapter;
ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_subject_books);
list = new ArrayList<>();
staggeredBooksAdapter = new RoomAdapter(list);
rv = (RecyclerView) findViewById(R.id.recyclerView);
rv.setHasFixedSize(true);
LinearLayoutManager llm = new LinearLayoutManager(this);
rv.setLayoutManager(llm);
rv.setAdapter(staggeredBooksAdapter);
}
我的适配器类有
public class RoomAdapter extends RecyclerView.Adapter<RoomAdapter.MyViewHolder> {
ArrayList<Roompost> bookslist;
CardView cv;
Roompost g;
public RoomAdapter(ArrayList<Roompost> bookslist){
this.bookslist = bookslist;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout,parent,false);
return new MyViewHolder(v);
}
public class MyViewHolder extends RecyclerView.ViewHolder {
TextView bookName,sellername,profile_details,update_info;
Button mSolved;
ImageView iv;
MyViewHolder(final View itemView) {
super(itemView);
cv = (CardView) itemView.findViewById(R.id.my_card_view);
update_info =(TextView) itemView.findViewById(R.id.update_info);
}
}
@Override
public int getItemCount() {
return bookslist.size();
}
}
提前致谢。
【问题讨论】:
-
如果您正在寻找运行时动态更新,您可以使用 eventbus github.com/greenrobot/EventBus
标签: java android android-intent adapter android-arrayadapter