新开activity并且新旧窗口之间传值

本文详细介绍了在Android开发中如何在清单文件中配置组件,新建activity类,并通过onCreate方法实现与意图对象的交互,进而传递和接收数据。通过实例展示了如何在不同activity间传递信息,以及使用Intent进行数据传递的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在清单文件中配置组件,在application节点下增加

<activity 
            android:name=".otherActivity"
            android:label="@string/activity_other"
            ></activity>

新建activity类 并且继承activity 重写oncreate方法

package com.example.mulactivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

public class otherActivity extends Activity {

    private EditText editor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.other);
        editor=(EditText) findViewById(R.id.editText1);
        
        //获取用于激活该窗口的意图对象
        Intent intent=getIntent();
        editor.setText(intent.getStringExtra("name"));
    }
    
    public void close(View view){
        //设置返回数据
        setResult(30, new Intent().putExtra("return", "哈哈哈"));
        this.finish();
    }

}

 

在原先activity中设置意图并传值

package com.example.mulactivity;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void show(View view){
        //设置要激活的组件
        Intent intent=new Intent(this, otherActivity.class);
        //向意图中传入值
        intent.putExtra("name", "张杰");
        //打开窗口
        //startActivity(intent);
        //打开窗口并能够接受返回数据
        startActivityForResult(intent, 200);
    }

    //当新窗口返回结果时该方法调用
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        Toast.makeText(this.getApplicationContext(), data.getStringExtra("return"), 1).show();
    }

}

 

转载于:https://my.oschina.net/zhangjie9142/blog/495187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值