学习目标:
请在实验二的基础上,对有recycleView的页面进行点击跳转设计。比如,某一tab页是新闻列表,则点击某一行能跳转到新闻详情页面;
学习内容:
本次作业考查的基础原理是对activity的生命周期的理解以及状态转变操作;
功能说明:
Intent 是一个消息传递对象,可以用来从其他应用组件请求操作。Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),可以启动新的 Activity 实例。Intent 用于描述要启动的 Activity,并携带任何必要的数据。在新的activity中通过intent获得传过来的intent,并获取里面的bundle数据,数据及完成传输。
实验代码:
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
holder.textView.setText(list.get(position));
holder.itemView.setOnClickListener(view -> {
Intent intent = new Intent("android.intent.action.MAIN2");
Bundle bundle=new Bundle();
bundle.putString("id",""+position);
intent.putExtra("data",bundle);
context.startActivity(intent);
});
}
public class MainActivity2 extends AppCompatActivity {
TextView textView;
String receiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Toast.makeText(getApplicationContext(), "创建",Toast.LENGTH_SHORT).show();
Log.i("wustwzx ", "创建");
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(getApplicationContext(), "启动", Toast.LENGTH_SHORT).show();
textView=(TextView) findViewById(R.id.textView5);
Intent intent = getIntent();
Bundle data = intent.getBundleExtra("data");
receiver = "" + data.getString("id");
textView.setText("第"+ receiver + "个item的界面");
}
@Override
protected void onPause() {
super.onPause();
Toast.makeText(getApplicationContext(), "暂停", Toast.LENGTH_SHORT).show();
}
@Override
protected void onResume() {
super.onResume();
Toast.makeText(getApplicationContext(), "恢复", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(getApplicationContext(), "重启", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(getApplicationContext(), "停止", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(getApplicationContext(), "再见", Toast.LENGTH_SHORT).show();
}
}
代码地址
实验截图:
心得体会:
这次实验需要注意各页面间的切换与显示的问题,通过交流和查询解决。了解了as的相关功能的使用,学习到了相关的实验操作。在接触到前端的开发中,我明白,熟练的运用控件的应用需要多加练习,然后掌握java语法基础才能有的放矢。
|