从intent额外获取null

时间:2012-09-09 04:26:28

标签: android android-intent

我正在尝试将字符串从一个活动传递到另一个活动。我似乎无法获得额外形式的意图。我哪里错了?

这是代码

将额外内容放入意图:

public void onClick(View v) {
    // TODO Auto-generated method stub
    String string = editTextFeild.getText().toString();
    Intent i = new Intent("com.com.com.otherclass");
    i.putExtra("dat", string);
    startActivity(new Intent("com.com.com.otherclass"));
}

从意图中获取数据(在com.com.com.otherclass中):

Bundle bundle = getIntent().getExtras();
if (bundle != null){
    String string = bundle.getString("dat");
    textView.setText(string);
}

P.S。这些不是我在代码中使用的实际名称:)

提前致谢:)

2 个答案:

答案 0 :(得分:4)

在startActivity行中,您正在创建一个新的Intent。把它改为'我'。

startActivity(i);

答案 1 :(得分:1)

将任何数据或字符串发布到其他活动,只需将以下几行代码转移到变量中的其他活动

            Intent itemintent = new Intent(this, ShowDescription.class);
        Bundle b = new Bundle();
        b.putInt("position", position);
        b.putStringArray("title_s", title_s);
        b.putStringArray("desc_s", desc_s);
        b.putStringArray("link_s", link_s);
        itemintent.putExtra("android.intent.extra.INTENT", b);
        startActivity(itemintent);

这会将您的数据发布到其他Activity Showdescription.java类

您可以通过以下方法获取数据。

Bundle b = startingIntent.getBundleExtra("android.intent.extra.INTENT");
title_s = b.getStringArray("title_s");
desc_s = b.getStringArray("desc_s");
link_s = b.getStringArray("link_s");
pub_s = b.getStringArray("position");

这将获得数据。 有关获取数据的更多信息,请参阅以下链接  http://grabcodes.blogspot.in/2012/08/passing-data-between-two-activities.html