91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Android中怎么實現與Activity的數據傳遞

發布時間:2020-11-27 16:56:25 來源:億速云 閱讀:145 作者:Leah 欄目:移動開發

在Android中怎么實現與Activity的數據傳遞?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

使用Inten的putExtra傳遞

第一個Activity中

//創建意圖對象
 Intent intent = new Intent(this,TwoActivity.class);
 //設置傳遞鍵值對
 intent.putExtra("data",str);
 //激活意圖
 startActivity(intent);

第二個Activity中

// 獲取意圖對象
 Intent intent = getIntent();
 //獲取傳遞的值
 String str = intent.getStringExtra("data");
 //設置值
 tv.setText(str);

使用Intention的Bundle傳遞

第一個Activity中

//創建意圖對象
 Intent intent = new Intent(MainActivity.this,TwoActivity.class);
 //用數據捆傳遞數據
 Bundle bundle = new Bundle();
 bundle.putString("data", str);
 //把數據捆設置改意圖
 intent.putExtra("bun", bundle);
 //激活意圖
 startActivity(intent);

第二個Activity

//獲取Bundle
 Intent intent = getIntent();
 Bundle bundle = intent.getBundleExtra("bun");
 String str = bundle.getString("data");
 tv.setText(str);

使用Activity銷毀時傳遞數據

第一個Activity中

  Intent intent = new Intent(MainActivity.this,TwoActivity.class);
  //用一種特殊方式開啟Activity
 startActivityForResult(intent, 11);
//設置數據
 
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data);
 String str = data.getStringExtra("data");
 tvOne.setText(str);
}

第二個activity中

//設置返回的數據
 Intent intent = new Intent();
 intent.putExtra("data", edtOne.getText().toString().trim());
 setResult(3, intent);
 //關閉當前activity
 finish();

SharedPreferences傳遞數據

第一個Activity中

SharedPreferences sp = this.getSharedPreferences("info", 1);
 //獲取sp編輯器
 Editor edit = sp.edit();
 edit.putString("data", str);
 edit.commit();
 //創建意圖對象
 Intent intent = new Intent(MainActivity.this,TwoActivity.class);
 //激活意圖
 startActivity(intent);

第二個Activity中

SharedPreferences sp = this.getSharedPreferences("info", 1);
 //設置數據
 tv.setText(sp.getString("data", ""));

使用序列化對象Seriazable

工具類

import java.io.Serializable;
class DataBean implements Serializable {
 private String name;
 private String sex;
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getSex() {
 return sex;
 }
 public void setSex(String sex) {
 this.sex = sex;
 }
}

第一個Activity

//創建意圖
 Intent intent = new Intent(MainActivity.this,TwoActivity.class);
 DataBean bean = new DataBean();
 //通過set方法把數據保存到DataBean對象中
 bean.setName("啦啦");
 bean.setSex("男");
 intent.putExtra("key", bean);
 startActivity(intent);

第二個Activity

Intent intent = getIntent();
 //反序列化數據對象
 Serializable se = intent.getSerializableExtra("key");
 if(se instanceof DataBean){
  //獲取到攜帶數據的DataBean對象db
  DataBean db = (DataBean) se;
  tv.setText(db.getName()+"==="+db.getSex());
 }

使用靜態變量傳遞數據

第一個Activity

Intent intent = new Intent(MainActivity.this,TwoActivity.class);
  TwoActivity.name="牛逼";
  TwoActivity.str="你說";
  startActivity(intent);

第二個Activity

//靜態變量
protected static String name;
protected static String str;
tv.setText(str+name);

看完上述內容,你們掌握在Android中怎么實現與Activity的數據傳遞的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥中县| 门头沟区| 安图县| 乌兰浩特市| 塘沽区| 无棣县| 壶关县| 丹阳市| 合山市| 浪卡子县| 富平县| 城固县| 札达县| 会同县| 正阳县| 阿鲁科尔沁旗| 调兵山市| 明星| 新绛县| 志丹县| 鹤岗市| 长春市| 商洛市| 锡林郭勒盟| 德钦县| 土默特右旗| 苍梧县| 正宁县| 濉溪县| 分宜县| 信宜市| 宜良县| 库尔勒市| 阿图什市| 台安县| 陈巴尔虎旗| 丽水市| 即墨市| 溧阳市| 绩溪县| 灌云县|