如何从另一个活动中获取EditText的值?

时间:2016-09-18 14:41:04

标签: android pass-data

有两项活动。我想将第一个屏幕中的EditText字段数据输入到第二个屏幕。我在第一个活动中使用了这段代码:

    for (t = 0; t < mesh->mNumVertices; ++t) {
        const struct aiVector3D* textureVec = &mesh->mTextureCoords[0][t];
        printf("tex (%f,%f,%f)", textureVec->x, textureVec->y, textureVec->z );
    }

如何访问第二个中的值?谢谢!

2 个答案:

答案 0 :(得分:2)

嗨,为什么你试图发送布尔类型为true还是false? 您只需要发送String值。见,

Intent i = new Intent(FirstScreen.this, SecondScreen.class);   
i.putExtra("STRING_I_NEED", inputuserName.getText()).toString());
startActivity(i);

然后,要检索值,请尝试以下内容:

String newString;
if (savedInstanceState == null) {
    Bundle extras = getIntent().getExtras();
    if(extras == null) {
        newString= null;
    } else {
        newString= extras.getString("STRING_I_NEED");
    }
} else {
    newString= (String) savedInstanceState.getSerializable("STRING_I_NEED");
}

由于

答案 1 :(得分:0)

您必须将消息附加到您尝试传递的值: i.putExtra(&#34; STRING_I_NEED&#34;,strName); 所以你想把inputName.getText())。toString()放在strName所在的位置。

在下一个活动中: Bundle extras = getIntent()。getExtras(); newString = extras.getString(&#34; STRING_I_NEED&#34;);