功能要求
将recyclerView的每个item增加点击功能,点击后跳转到一个新的view展示信息。
开发技术
activity,xml,fragment,button,fragment,recycleview,adapter
思路分析
先对跳转到的页面进行设计,再将该页面与对应的item连接
设计过程
1.创建跳转的界面的xml
2.对Adapter的java文件进行修改
修改myadapter文件中的onBindViewHolder中的内容
public void onBindViewHolder(@NonNull Myadapter.Myholder holder, int position) {
String name=list1.get(position).get("my_name").toString();
String phone=list1.get(position).get("my_phone").toString();
String area=list1.get(position).get("my_area").toString();
holder.textView.setText(name);
holder.textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(context1,Activity2.class);
intent.putExtra("details",name);
intent.putExtra("phone",phone);
intent.putExtra("area",area);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//开始跳转
context1.startActivity(intent);
}
});
3.添加跳转页面的activity组件
添加显示跳转页面的activity2,在外定义button和textview后,再在oncreate中添加对应的连接,并将button返回界面设置为跳转前界面
Button button;
TextView name_details,textView1,textView2;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.item_details);
Intent intent=getIntent();
button=findViewById(R.id.button_details);
Log.d("xr","2:onCreate...");
name_details=findViewById(R.id.name_detail);
name_details.setText(intent.getStringExtra("details"));
textView1=findViewById(R.id.phone_detail);
textView1.setText(intent.getStringExtra("phone"));
textView2=findViewById(R.id.area_detail);
textView2.setText(intent.getStringExtra("area"));
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.putExtra("results","888");
setResult(666,intent);
finish();
}
});
结果展示
点击父亲前:
点击父亲后:
点击返回后:
总结
学会了两个activity的相互跳转,并理解如何为recyclerview中的item组件添加点击事件来进行跳转页面