(1)对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
(2)本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;
在实验二中我们已经实现了在类微信界面添加recyclview并添加相应的imageview,本次实验就是在recyclview中添加一个button控件并实现监听,使鼠标点击时可以跳转到另外一个设计好的界面,具体操作如下。
二、设计跳转页面本次实验主要想实现手机购买页面,所以设置一个手机购买的页面,页面添加一个textview和一个imageview(以其中一个.xml页面举例)
代码:
效果:
我选择在首页显示跳转列表,于是我们在weixinFragment页面编写逻辑代码
代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view=inflater.inflate(R.layout.fragment_weixin, container, false);
context=this.getActivity();
recyclerView=view.findViewById(R.id.recyclerview);
LinearLayoutManager layoutManager=new LinearLayoutManager(context);
// Inflate the layout for this fragment
String[] label={"型号:小米MIX4","型号:苹果13 pro Max","型号:三星Z Flip3"};
String[] price={"价格:4799起","价格:9799起","价格:7999起"};
String[] color={"颜色:陶瓷黑","颜色:远峰蓝","颜色:陨石海岸"};
String[] config={"内存:128G","内存:128G","内存:128G"};
Object[] simple={huawei.class,pingguo.class,xiaomi.class};
int[] phone={R.drawable.xiaomi4,R.drawable.pingguotu,R.drawable.sx};
List
显示效果:
首先在MyViewHolder声明一个button控件,并进行绑定
Button button2;
button2=(Button) itemView.findViewById(R.id.button2);
然后在onBindViewHolder添加button2的描述
public void onBindViewHolder(@NonNull MyViewHolder holder, @SuppressLint("RecyclerView") int position) {
holder.button2.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View view){
Intent main2 = new Intent(context,(Class>)data.get(position).get("detail"));
Toast.makeText(context.getApplicationContext(),"正在努力跳转 :)",Toast.LENGTH_SHORT).show();
context.startActivity(main2);
}
});
和之前的textview和imageview有所不同,他的接受position写在onClick中,因为有3个position,它要找到正确的位置进行跳转。
六、完善JAVA文件跳转不可能直接到xml文件,它同样需要java文件来承载它,并返回相应的信息,我们新建了三个java文件,huawei,pingguo和xiaomi。此处我同样以huawei为例
package com.example.mywork_lbw;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
public class huawei extends AppCompatActivity {
public huawei() { }
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.huawei);
Log.i("life ", "huawei is on create..."); //信息在LogCat控制台输出
Intent intent = getIntent();
}
}
在setContentView中我们设置了这个java文件将显示哪一个xml文件,此处当然显示的huawei.xml。
最后就是要把上面的串联起来,在微信总布局中加入button,点击实现跳转,总界面如图:
gitee



