点击按钮跳转到另一个Activity2
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(listener2);
listener2 = new OnClickListener() {
public void onClick(View v) {
setTitle("这是在ActivityMain");
Intent intent2 = new Intent(ActivityMain.this, Activity2.class);
startActivity(intent2); //启动这个动作
}
};
Intent是什么?
Intent是一个动作的描述类,里面封装了这个动作。
Intent可以启动一个Activety、可以启动一个Service、可以启动一个Event
结束一个Activity
listener = new OnClickListener() {
public void onClick(View v) {
finish();
}
};
button = (Button) findViewById(R.id.button4);
button.setOnClickListener(listener);
setTitle("现在是在Activity2里");
两个Activity 之间传值与返回值
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(listener1);
listener1 = new OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(ActivityMain.this, Activity1.class);
intent1.putExtra("activityMain", "数据来自activityMain"); //将名值对写入Extra变量
startActivityForResult(intent1, REQUEST_CODE); // 可回调onActivityResult方法的一次跳转。//第二个参数是一个整形值,用来在回调函数里面判定是那个操作的返回,这个值不能为0
}
};
//获取返回的值
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_CANCELED)
setTitle("取消");
else if (resultCode == RESULT_OK) {
String temp=null;
Bundle extras = data.getExtras();
if (extras != null) {
temp = extras.getString("store");//取出里面的名字为“store”的值
}
setTitle(temp);
}
}
}
//接收发过来的值
Bundle extras = getIntent().getExtras();//返回调用它的Intent,返回其中的Extras,类型为Bundle,这个类型是名字对的封装只是他的值只能是简单类型和数组
if (extras != null) {
data = extras.getString("activityMain");//获得名字为activityMain 的值
}
setTitle("现在是在Activity1里:"+data);
//返回一值,给调用自己的Activity
listener1 = new OnClickListener() {
public void onClick(View v) {
Bundle bundle = new Bundle();
bundle.putString("store", "数据来自Activity1");
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?