網(wǎng)站首頁 編程語言 正文
使用Inten的putExtra傳遞
- 第一個Activity中
//創(chuàng)建意圖對象
Intent intent = new Intent(this,MainActivity2.class);
//設(shè)置傳遞鍵值對
intent.putExtra("name","花花");
//激活意圖
startActivity(intent);
- 第二個Activity中
// 獲取意圖對象
Intent intent = getIntent();
//獲取傳遞的值
String name= intent.getStringExtra("name");
//設(shè)置值
tv.setText(name);
使用Intention的Bundle傳遞
- 第一個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銷毀時傳遞數(shù)據(jù)
- 第一個Activity中
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
//用一種特殊方式開啟Activity
startActivityForResult(intent, 11);
//設(shè)置數(shù)據(jù)
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String str = data.getStringExtra("data");
tvOne.setText(str);
}
- 第二個Activity中
//設(shè)置返回的數(shù)據(jù)
Intent intent = new Intent();
intent.putExtra("data", edtOne.getText().toString().trim());
setResult(3, intent);
//關(guān)閉當(dāng)前activity
finish();
SharedPreferences傳遞數(shù)據(jù)
- 第一個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",""));
使用序列化對象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中
//創(chuàng)建意圖
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
DataBean bean = new DataBean();
//通過set方法把數(shù)據(jù)保存到DataBean對象中
bean.setName("啦啦");
bean.setSex("男");
intent.putExtra("key", bean);
startActivity(intent);
- 第二個Activity中
Intent intent = getIntent();
//反序列化數(shù)據(jù)對象
Serializable se = intent.getSerializableExtra("key");
if(se instanceof DataBean){
//獲取到攜帶數(shù)據(jù)的DataBean對象db
DataBean db = (DataBean) se;
tv.setText(db.getName()+"==="+db.getSex());
}
使用靜態(tài)變量傳遞數(shù)據(jù)
- 第一個Activity中
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
TwoActivity.name="花花";
TwoActivity.str="在做什么";
startActivity(intent);
- 第二個Activity中
//靜態(tài)變量
protected static String name;
protected static String str;
tv.setText(str+name);
handler
- 第一個Activity中
//點擊跳轉(zhuǎn)第二個頁面
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent=new Intent(MainActivity.this,MainActivity2.class);
startActivity(intent);
}
});
//創(chuàng)建一個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秒之后發(fā)送
Thread.sleep(10000);
handler=MainActivity.mhandler;
Message message=new Message();
message.what=1;
handler.sendMessage(message);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
});
//點擊按鈕,每10秒 ,返回第一個activity一次(循環(huán)一次),一共返回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();
}
});
原文鏈接:https://blog.csdn.net/afufufufu/article/details/118292655
相關(guān)推薦
- 2022-02-24 C語言數(shù)據(jù)結(jié)構(gòu)與算法之排序總結(jié)(一)_C 語言
- 2022-04-20 Python設(shè)計模式中的結(jié)構(gòu)型橋接模式_python
- 2022-08-18 python上下文管理器使用場景及異常處理_python
- 2023-06-17 Hugo?Config模塊構(gòu)建實現(xiàn)源碼剖析_Golang
- 2022-07-14 Jquery+Ajax實現(xiàn)跨域訪問_jquery
- 2022-07-06 python繪制子圖技巧之plt.subplot、plt.subplots及坐標軸修改_python
- 2022-08-17 jQuery初識之設(shè)計思想方法函數(shù)示例_jquery
- 2022-12-31 Android入門之Service的使用詳解_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支