日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Activity两个启动方法的区别

發布時間:2025/3/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activity两个启动方法的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

假設有倆個布局界面,第一個是要獲取信息Info的定義為MainActivity,第二個是提供需要的信息的定義為SecondActivity,信息格式定義為Info

(1)用startActivity(Intent intent)函數啟動

????????用這種方式啟動,需把SecondActivity設置為程序的入口布局界面,輸入信息后用下面代碼把信息傳遞到MainActivity,然后SecondActivity關閉;

Info info =new Info(name.getText().toString(),age.getText().toString());String key1 = new String("info");String key2 = new String("people");Bundle data = new Bundle();data.putSerializable(key2, info);data.putSerializable(key1, info);Intent intent = new Intent(SecondActivity.this,MainActivity.class);intent.putExtras(data);startActivity(intent);finish();

????????MainActivity啟動后,用下面的代碼獲取信息并顯示

Intent intent = getIntent();Bundle data = intent.getExtras();Info info =(Info)data.getSerializable("people");name.setText(info.getName());age.setText(info.getAge());

????????需要指明是,Info必須實現Serializable接口才可以序列化,Info不需要實現任何Serializable接口方法,只需要聲明實現接口,就可以進行序列化;data.putSerializable可以把多個序列化的元素插入到data中,他們用key區分。

(2)用startActivityForResult(int requestCode,int resultCode,Intent intent)函數啟動

????????用這種方式啟動,需把MainActivity設置為程序的入口布局界面,需要時(如按鈕)用下面代碼啟動SecondActivity,SecondActivity在關閉時返回數據:

commit.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){Intent intent = new Intent(MainActivity.this,SecondActivity.class);startActivityForResult(intent,0); }});

????????SecondActivity啟動后,用下面的代碼獲取信息返回給MainActivity

Info info =new Info(name.getText().toString(),age.getText().toString());String key = new String("info");Bundle data = new Bundle();data.putSerializable(key, info);Intent intent = getIntent();//Intent intentx = new Intent();也可以intent.putExtras(data);SecondActivity.this.setResult(0, intent);SecondActivity.this.finish();

????????這里留一個疑問,兩個布局之間的requestCode是怎么傳遞和識別的?

轉載于:https://my.oschina.net/u/779520/blog/79244

總結

以上是生活随笔為你收集整理的Activity两个启动方法的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。