在一个Activity中启动另外一个Activity同时回传数据

本文介绍了如何在Android应用中从一个Activity启动另一个Activity,并详细阐述了如何在第二个Activity中接收和处理来自第一个Activity的数据,涵盖了Intent的使用及数据传递的方法。
摘要由CSDN通过智能技术生成

 第一个Activity:

public class Activity01 extends ActionBarActivity {  
    /** 
     * Called when the activity is first created 
     */  
    //首先获得点击跳转的按钮  
    private Button myButton =null;  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main); //选择关联的布局文件  
        myButton=(Button)findViewById(R.id.myButton); //通过id获得按钮  
        //通过监听器把对象捆绑到按钮上  
        myButton.setOnClickListener((android.view.View.OnClickListener) new MyButtonListener());  
    }  
      
    //监听器类  
    class MyButtonListener implements OnClickListener{    
        public void onClick(View v){  
            // 生成一个Intent对象  
            Intent intent=new Intent();  
            intent.putExtra("testIntent", "123");  
            intent.setClass(Activity01.this, Activity02.class); //设置跳转的Activity  
            Activity01.this
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android ,如果一个 Activity 要向另一个 Activity 返回数据,则可以使用 startActivityForResult 方法启动一个 Activity。然后在另一个 Activity 设置 setResult 方法并 finish() 结束该 Activity。 在第一个 Activity ,可以通过 onActivityResult 方法获取返回的数据。在此方法,您可以检查请求代码(requestCode)以确定哪个 Activity 返回数据,并检查结果代码(resultCode)以确定操作是否成功。然后,您可以使用获取的数据执行任何必要的操作。 如果您有多个 Activity 需要返回数据,则可以使用不同的请求代码来标识每个 Activity,以便在 onActivityResult 方法分别处理每个 Activity 的返回数据。 以下是一个示例: 在第一个 Activity 启动一个 Activity: ```java Intent intent = new Intent(this, SecondActivity.class); startActivityForResult(intent, REQUEST_CODE_SECOND_ACTIVITY); ``` 在第二个 Activity 设置返回数据并结束 Activity: ```java Intent intent = new Intent(); intent.putExtra("data", "Hello from SecondActivity"); setResult(Activity.RESULT_OK, intent); finish(); ``` 在第一个 Activity 实现 onActivityResult 方法以处理返回的数据: ```java @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_SECOND_ACTIVITY && resultCode == Activity.RESULT_OK) { String returnedData = data.getStringExtra("data"); Toast.makeText(this, returnedData, Toast.LENGTH_SHORT).show(); } } ``` 在此示例使用 REQUEST_CODE_SECOND_ACTIVITY 标识了第二个 Activity。在 onActivityResult 方法,检查 requestCode 是否等于 REQUEST_CODE_SECOND_ACTIVITY 并检查 resultCode 是否等于 Activity.RESULT_OK(表示操作成功)。然后,使用 data 参数获取返回的数据,并执行必要的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值