您好,登錄后才能下訂單哦!
這篇文章主要介紹“Android開發兩個activity之間傳值的方法”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Android開發兩個activity之間傳值的方法”文章能幫助大家解決問題。
第一個Activity中
//創建意圖對象 Intent intent = new Intent(this,MainActivity2.class); //設置傳遞鍵值對 intent.putExtra("name","花花"); //激活意圖 startActivity(intent);
第二個Activity中
// 獲取意圖對象 Intent intent = getIntent(); //獲取傳遞的值 String name= intent.getStringExtra("name"); //設置值 tv.setText(name);
第一個Activity中
Intent intent=new Intent(MainActivity.this,MainActivity2.class); Bundle bundle=new Bundle(); bundle.putInt("id",2); bundle.putString("name",ss); intent.putExtra("bundle",bundle); startActivity(intent);
第二個Activity中
Intent intent=getIntent(); Bundle bundle=intent.getBundleExtra("bundle"); final int id = bundle.getInt("id"); final String name = bundle.getString("name"); tv.setText(id); tv2.setText(name);
第一個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();
第一個Activity中
SharedPreferences sp=getSharedPreferences("com.example.data4",0); final SharedPreferences.Editor edit = sp.edit(); edit.putString("name",ss); edit.putString("id","8"); edit.apply(); Intent intent=new Intent(MainActivity.this,MainActivity2.class); startActivity(intent);
第二個Activity中
SharedPreferences sp=getSharedPreferences("com.example.data4",0); sp.getString("name",""); tv1.setText(sp.getString("id","")); tv2.setText(sp.getString("name",""));
工具類
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);
第一個Activity中
//點擊跳轉第二個頁面 bt1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this,MainActivity2.class); startActivity(intent); } }); //創建一個handler,處理信息 @SuppressLint("HandlerLeak") public static Handler mhandler=new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); switch (msg.what){ case 1: Log.e("ddddddd","Dddddddd"); break; } } };
第二個Activity中
//點擊按鈕,返回第一個activity btt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { handler=MainActivity.mhandler; Message message=new Message(); message.what=1; handler.sendMessage(message); } });
//點擊按鈕,10秒后 ,返回第一個activity btt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //開一個子線程 new Thread(new Runnable() { @Override public void run() { try { //10秒之后發送 Thread.sleep(10000); handler=MainActivity.mhandler; Message message=new Message(); message.what=1; handler.sendMessage(message); } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } });
//點擊按鈕,每10秒 ,返回第一個activity一次(循環一次),一共返回10次 btt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new Thread(new Runnable() { @Override public void run() { int i=0; do { try { Thread.sleep(10000); handler=MainActivity.mhandler; Message message=new Message(); message.what=1; handler.sendMessage(message); i++; } catch (InterruptedException e) { e.printStackTrace(); } }while (i<10); } }).start(); } });
關于“Android開發兩個activity之間傳值的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。