在两个活动之间使用putextra传递变量值

时间:2013-11-21 04:08:20

标签: android

我在第一个活动中有两个活动我将字符串值存储在变量中我正在使用intent并转到第二个活动我想获取存储在变量中的值并将其传递给edittext 任何人都可以帮助我

第一项活动--- onclick with intent

but1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent mail = new Intent(
                        "com.ideals.ideal.MAIL1");
                mail.putExtra("Value1", "problem was asked in stackowerflow and i am waiting for a reply");
                startActivity(mail);
            }
        });

第二项活动

protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.mail1);
    sendEmail = (Button) findViewById(R.id.bSentEmail);
    doc = (EditText) findViewById(R.id.etdoc);

    Bundle extras = getIntent().getExtras();
    value1 = extras.getString("value1");
    doc.setText(value1);
    abcPref = getSharedPreferences(FILE1, 0);
    Bigboss = abcPref.getString("bigboss", "");

3 个答案:

答案 0 :(得分:1)

按如下方式更新您的onClick代码(创建意图的方式不是最佳方式):

but1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent mail = new Intent(this, MAIL1.class);
        mail.putExtra("Value1", "problem was asked in stackowerflow and i am waiting for a reply");
        startActivity(mail);
    }
});

您应该使用在putExtra中使用的相同密钥:

String value1 = extras.getString("Value1");
doc.setText(value1);

答案 1 :(得分:1)

您的意图密钥值区分大小写,因此请务必确保在获取值时,您定义的用于传递意图值的密钥必须相同。

在获得价值时,您的密钥为Value1而不是value1。写V首都而非v

Bundle extras = getIntent().getExtras();
value1 = extras.getString("Value1");

答案 2 :(得分:0)

Intent Extras是键值对。给一把钥匙,你得到相应的价值。看看以下Eg:

第一个活动中的

 Intent mail = new Intent(FirstActivity.this, SecondActivity.class);// This is the right way to call Activity inside your own Application
                mail.putExtra("Key1", "Value1");
                mail.putExtra("Key2", "Value2");
                mail.putExtra("Key3", "Value3");
                startActivity(mail);

现在,在SecondActivity中,

 String value1 =getIntent().getStringExtra("Key1");
 String value2 =getIntent().getStringExtra("Key2");
 String value3 =getIntent().getStringExtra("Key3");