如何从Intent获取String?

时间:2016-10-26 10:43:45

标签: android android-intent classcastexception spannablestring

我编写了一些代码来从EditView获取文本,将它放在Intent Extras中并在其他Activity的TextView中设置它。

以下是发送活动的代码

Intent intent = new Intent(MyLayoutActivity.this, LayoutForOneActivity.class);
intent.putExtra("CaptionOne", String.valueOf(txt_caption1.getText()));
startActivity(intent);

以下是我收到活动

的代码
Intent intent1 = getIntent();
Bundle bundle = intent1.getExtras();

if (bundle != null) {
    caption = bundle.getString("CaptionOne");
}

如果尝试运行此代码,我会得到如下所示的ClassCastException:

java.lang.ClassCastException: android.text.SpannableString cannot be cast 
to java.lang.String

2 个答案:

答案 0 :(得分:1)

使用

count = int(soup.select_one("li.FollowersNavItem .list_count").get_text())

而不是

intent.putExtra("CaptionOne", txt_caption1.getText().toString);

以及intent.putExtra("CaptionOne", String.valueOf(txt_caption1.getText())); 的数据类型应为String

答案 1 :(得分:0)

使用

Intent i = getIntent();
String Data = i.getStringExtra("Data");