2 sinat 24077755 sinat_24077755 于 2014.12.07 11:24 提问

【数据在2个activity之间传递】使用Intent连接2个activity,但数据无法在之间传递

//Activity_Main 代码
public class Menuer extends Activity {
protected static final int REQUEST_CODE = 0;

TextView tv;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.menu);
    tv=(TextView) findViewById(R.id.tv1);
    Button btn1 = (Button) findViewById(R.id.btn1);
    btn1.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i = new Intent(getBaseContext(),Activity_A.class);
            startActivityForResult(i,REQUEST_CODE);
        }
});
}
 protected void onActivityResult(int requestCode,int resultCode, Intent i)
{
    if(requestCode == REQUEST_CODE)
    {
        if(resultCode ==RESULT_OK)
        {

            Bundle bundle = i.getExtras();
            final String name = bundle.getString("name");
            final String sex = bundle.getString("sex");
            final String age = bundle.getString("age");
            tv.setText("Your messages as follow: \n" + "name: " + name +"\n sex: " + sex + "\n age: " + age);

        }
    }
    super.onActivityResult(0, 0, i);
        }

//Activity_A 代码
public class Activity_A extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_a);

    EditText name_in = (EditText) findViewById(R.id.name_in);
    EditText sex_in = (EditText) findViewById(R.id.sex_in);
    EditText age_in = (EditText) findViewById(R.id.age_in);
    final String name = name_in.getText().toString();
    final String sex = sex_in.getText().toString();
    final String age = age_in.getText().toString();
    Button btn1 = (Button) findViewById(R.id.btn1);
    btn1.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i = new Intent();
            Bundle bundle = new Bundle();
            bundle.putString("name",name);
            bundle.putString("sex", sex);
            bundle.putString("age", age);
            i.putExtras(bundle);
            setResult(RESULT_OK,i);
            finish();

        }

    });
}

}

1个回答

afandaafandaafanda
afandaafandaafanda   2014.12.07 22:59
已采纳

你的代码在我的浏览器显示有点问题,请参考我的博客:http://blog.csdn.net/afandaafandaafanda/article/details/41594125,希望能帮助到你。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
两个Activity之间传递数据的全部方法以及Parcelable接口的用法
两个Activity之间传递数据的全部方法以及Parcelable接口的用法
两个Activity之间的数据传递(使用简单的intent方法)
android编程学习中,最近在编写一个简单的android项目,实现在TwoActivity(书籍列表)中点击LisView的任意item传递书名,给ThreeAvtivity(章节列表),通过接收到的数据(书名)确定显示书的章节目录,使用的是intent方法。其中TwoActivity中有6本书的List,ThreeActivity中每本书有十个章节 Intent 可以启动一个Activit
android中使用两个intent使数据在两个Activity中传递
在不同活动之间传递数据的方法。
多个Activity之间传值,使用Intent
Activity之间传值有很多种,无论用那种方式实现的目的只有一个:多个Activity之间实现通信!下面这篇博客介绍一下多个Activity之间使用Intent传值,Intent背负着信使的荣誉称号,当然它就要履行这个荣誉称号的义务了,使用Intent传值有些注意事项,各位在使用的需要注意下。
两个Activity之间通过Intent相互(双向)传递数据
两个Activity通过Intent相互交换数据,在Activity中用一个Button 选择是否接受数据,不能直接写在onCreate中否则在Activity1 中获取从Activity2发送的数据时会崩溃,原因是因为在Activity中会通过Intent再创建一个Activity1的界面 而Activity1在内存中是存在的。 package com.example.he.text2
关于Android中Activity之间socket传递的问题
众所周知,一个Android程序如果需要和服务器建立socket通信的话,在每个activity中都新建socket与服务器连接是非常不便的,那么我们就需要在各个activity之间传递socket,这样只需要和服务器建立一次连接就可以了。下面博主将自己学习的过程和走过的弯路分享出来供大家参考。 一、通过Intent传递类对象 首先声明,该方法是不能实现socket传递的,下面会介绍原因
在两个activity之间使用intent传递list类型的对象
在两个activity之间传递list类型的对象。   第一个界面 import java.io.Serializable; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONObject; im
activity与activity利用接口相互传递数据
activity与activity利用接口相互传递数据,超简单
Activity之间使用intent传递大量数据带来问题总结
转载请注明:大飞 http://blog.csdn.net/rflyee/article/details/47441405Activity之间使用Parcel传递大量数据产生的问题。Activity之间通过intent传递大量数据,导致新Activity无法启动。Activity之间数据传递方式总结参考 这 里。比较常用的是直接利用intent传递,比如使用bundle,如下:Intent int...
Andriod 中两个Activity之间传值的几种思路
想必做过Andriod开发的人都遇到这样的问题,就是在两个activity直接传值。下面话不多说直接介绍思路。         思路一:;利用Bundle传值     基本过程就是把数据先放到Bundle里,然后再把Bundle放到Intent里,直接上代码 Intent loginIntent = new Intent(mContext, SearchCmxActivity.c