一、作业目标
以上一篇源码为基础,在列表页上点击跳转到另一详情页面
二、代码实现
在chats聊天界面点击任意一行数据,即可实现跳转详情页面,点击返回按钮后,即可重新返回聊天页面,页面成果图展示如下:
(1)详情页xml
打开main-res-layout创建activity_vx.xml,在Design界面左侧直接拖动加入了两个TextView和button按钮,然后调整位置和字体。
<TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="TextView" android:textSize="14sp" android:typeface="serif" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.317" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.228" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="返回" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.504" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/textView2" app:layout_constraintVertical_bias="0.886" />
(2)创建Activity1
把设置的控件与传值对应,并链接button按钮
public class Activity1 extends AppCompatActivity {//AppCompatActivity定义 TextView textView1, textView2;//定义变量 Button button2;//定义变量 @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_vx);//连接详情页面(带返回按钮的) textView1=findViewById(R.id.textView1); textView2=findViewById(R.id.textView2);//把设置的控键和传值对应 Intent intent=getIntent();//收到传值 textView1.setText(intent.getStringExtra("name")); textView2.setText(intent.getStringExtra("name")); //返回fragment1列表设置 button2 = findViewById(R.id.button2);//找到它 button2.setOnClickListener(new View.OnClickListener() {//点击监听 @Override public void onClick(View view) {finish(); } }); } }
(3)增加Myadapter内容
把Fragment1和详情页面联系起来,并向Activity1传入数据
@Override public void onBindViewHolder(@NonNull Myholder holder, int position) { String str=list1.get(position); holder.textView.setText(list1.get(position)); holder.textView.setOnClickListener(new View.OnClickListener() {//holder行指针 @Override public void onClick(View view) { Intent intent =new Intent(context1, Activity1.class); //intend把Fragment1和详情页面连起来 intent.putExtra("name",str);//向Activity1传入数据 context1.startActivity(intent); } }); }
三、总结回顾
1、整体逻辑:新建一个详情页的xml页面,里面有TextView和Button两个部分,然后在java里面创建新的Activity1活动页面,接着在Myadapter适配器里面将传值与Fragment1连接起来。
2、反思总结:对于java书写还不太熟悉,有尝试将底部图标边缘透明化但还未实现。
任重道远,且行且加油!