0
Intent i = new Intent(MainActivity.this,Home_screen.class);
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                i.putExtra("first-name", firstname);
                startActivity(i);

第二次活动

TextView t= (TextView) findViewById(R.id.textView1);
//EditText e = (EditText) findViewById(R.id.editText1);
    Bundle b= getIntent().getExtras();
    if(b!=null)
    {

        String d = b.getString("first-name");
        Toast.makeText(getApplicationContext(), d,Toast.LENGTH_SHORT).show();

}

我已经编辑了代码.. 在 Textview 甚至在第二个活动的 EditText 上获取 NullPointerException 并且 firstname 是字符串而不是 textview。甚至 Toast 也在第二个活动屏幕上打印我想要的数据,因此数据正在通过.. 感谢各位的回复,尽管仍在寻找答案..

4

5 回答 5

0

如果firstname是您的文本视图名称:

String FName;
FName = firstname.getText().toString();
Intent i = new Intent(MainActivity.this,Home_screen.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            i.putExtra("first-name", FName);
            startActivity(i);
于 2013-08-27T12:44:24.117 回答
0

您的代码看起来正确。我的猜测是第一个活动中的firstname变量是null或不是一个字符串。这就是为什么它null在第二个。

于 2013-08-27T12:44:25.533 回答
0

你的代码没问题,但我不明白为什么它不起作用。可能是您在代码中犯了一些错误。如果可能的话,向我们展示完整的代码。我可以为您的问题描述一些解决方案。您说您NullPointerException正在参加第二项活动的 Textview。在您的第二个活动中,您没有声明 TextView。您的第二个活动中的 TextView 在哪里?首先尝试像这样在第二个活动中记录文本值Log.d("TAG",""+d);如果它返回值,那么问题出在您的 TextView 中。请首先再次检查您的第一个和第二个活动。希望你能找到你的问题,或者你可以发布你的整个代码。谢谢。

于 2013-08-27T13:39:42.733 回答
0
Intent i = new Intent(MainActivity.this, Home_screen.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 if(firstname!=null){
 i.putExtra("first-name", firstname);
 startActivity(i);
 }else{ Toast.makeText(getApplicationContext(), "firstname is null",Toast.LENGTH_SHORT).show();
}
于 2013-08-27T14:03:40.873 回答
0

你写代码了吗

setContentView(R.layout.YOUR_LAYOUT);

在你之前findViewById??

在从该布局文件分配任何对象之前,您必须设置布局视图。

于 2013-08-28T04:59:44.677 回答