如何对字符串数据使用putextra()和getextra()。

时间 2011-03-11
阅读 629576
点赞 272
收藏 96
连接shaista-naaz

有人能告诉我具体怎么用吗getExtra()putExtra()意图?实际上,我有一个字符串变量,比如str,它存储一些字符串数据。现在,我想将这些数据从一个活动发送到另一个活动。

  Intent i = new Intent(FirstScreen.this, SecondScreen.class);   
  String keyIdentifer  = null;
  i.putExtra(strName, keyIdentifer );

然后在secondscreen.java中

 public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.table);
        TextView userName = (TextView)findViewById(R.id.userName);
        Bundle bundle = getIntent().getExtras();

        if(bundle.getString("strName")!= null)
        {
            //TODO here get the string stored in the string variable and do 
            // setText() on userName 
        }

    }

我知道这是一个非常基本的问题,但不幸的是我被困在这里。 请帮忙。

谢谢,

编辑:这里,我试图从一个屏幕传递到另一个屏幕的字符串是动态的。 也就是说,我有一个editText,在这里我可以得到任何用户类型的字符串。然后在…的帮助下myEditText.getText().toString(). 我将以字符串形式获取输入值,然后必须传递此数据。

✅ 被采纳的答案

用这个“放”文件…

Intent i = new Intent(FirstScreen.this, SecondScreen.class);   
String strName = null;
i.putExtra("STRING_I_NEED", strName);

然后,要检索该值,请尝试如下操作:

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");
}
👍 364