我是靠谱客的博主 爱笑故事,这篇文章主要介绍Activity之间跳转实现--安卓作业2,现在分享给大家,希望可以做个参考。

一.要求分析 

目前已经利用adapter实现了将数据传输recycleview界面。这次作业主要是利用intent传递参数并实现activity之间的跳转

1.在Adapter中的内部类viewholder中设置一个监听,用于recyclerview中每一个item

复制代码
1
2
3
4
5
6
7
myviewholder.textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(context,ItemActivity.class); context.startActivity(intent); } });

2.设置好监听之后,需要新建一个activity用来加载详情界面

 3.将recyclerview中item的内容加载到详情页面对应的activity中

Itemactivity中的代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_item); textView=findViewById(R.id.itemtextView2); button=findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(ItemActivity.this,resultActivity.class); test.launch(intent); } }); }

调用onActivityResultLauncher获取跳转之后界面传递回来的状态,数据等信息

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
public ActivityResultLauncher test = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>(){ @Override public void onActivityResult(ActivityResult result) { if (result.getResultCode() == 888){ Log.d("xr","onActivityResultLauncher..."); textView.setText(result.getData().getStringExtra("data")); } } });

4.resultActivity

复制代码
1
2
3
4
5
6
7
8
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_result); Intent intent=getIntent(); intent.putExtra("data","今天是安卓课,老师是肖蓉"+"上课时间是"+ Calendar.getInstance().getTime()); setResult(888,intent); finish(); }

二、核心技术
1)intent和bundle:

intent用于从一个activity跳转到另一个activity。在调和被调的activity中的intent书写形式不一样。
bundle可以看作一个键值对列表。这个列表非常人性化的地方在于,它的value值可以是整型,char,String各种类型都可。并且每一个value值你可以给它一个名字,方便访问。它和intent配合使用的时候就可以让intent不只是只能带一个值而是可以带多个并且是不同种类的值。简直不要太好!
学了intent之后我也想了以下为什么之前传值的时候要自己写一个私有类MyAdapter而不是直接用intent。intent和adapter都是传值,这两者之间到底有什么区别??后来我仔细想了想,adpter传值可以看作静态的,即将一系列静态的数据传到我们写的界面中,我们不需要两个activity之间调用就可以将数据传入;而intent是在我们操作activity的过程中传值的工具,它传值的条件建立在一个activity调用另一个activity的过程中。所以这两者区别还是挺大的。
2)onActivityResult:

在进行界面间的跳转和传递数据的时候,我们有的时候要获得跳转之后界面传递回来的状态,数据等信息。这个时候,我们不一定需要使用Intent进行跳转回原来设置的界面,而是使onActivityResult方法就可以解决这个问题。

三.结果展示

四.实验小结

本次实验主要完成了intent传值和activity之间的跳转,通过本次实验我了解了如何使用onActivityResult来进行界面间的跳转和传递数据,了解了跳转和跳转到的activity中调

用的intent的写法不同
 

最后

以上就是爱笑故事最近收集整理的关于Activity之间跳转实现--安卓作业2的全部内容,更多相关Activity之间跳转实现--安卓作业2内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部