Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.NullPointerException:尝试调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”_Java_Android_Nullpointerexception - Fatal编程技术网

java.lang.NullPointerException:尝试调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”

java.lang.NullPointerException:尝试调用虚拟方法“java.lang.String android.os.Bundle.getString(java.lang.String)”,java,android,nullpointerexception,Java,Android,Nullpointerexception,我是Android应用程序开发的初学者。我试图使用intent将评级从第二个活动发送到主活动。执行此操作时,我收到错误:java.lang.NullPointerException:尝试在null上调用虚拟方法“java.lang.String android.os.Bundle.getStringjava.lang.String”更改以下内容: enter code here public class MainActivity extends AppCompatActivity { TextV

我是Android应用程序开发的初学者。我试图使用intent将评级从第二个活动发送到主活动。执行此操作时,我收到错误:java.lang.NullPointerException:尝试在null上调用虚拟方法“java.lang.String android.os.Bundle.getStringjava.lang.String”

更改以下内容:

enter code here
public class MainActivity extends AppCompatActivity {
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTextInTextView();
    setContentView(R.layout.activity_main);

}        
public void setTextInTextView(){
    tv = (TextView) findViewById(R.id.rate);
    Bundle extra = getIntent().getExtras();
    tv.setText(""+extra.getString("key"));   
}

public void go(View view) {
    Intent i = new Intent(MainActivity.this,Activity2.class);
    startActivity(i);
}
enter code here
public class Activity2 extends AppCompatActivity {
RatingBar rb;
float str;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_2);
    rb = (RatingBar)findViewById(R.id.rt);


}

public void submit(View view) {
   String st = String.valueOf(rb.getRating());
   Intent i = new Intent(Activity2.this,MainActivity.class);
   i.putExtra("key",""+st);
   startActivity(i);
}
}
为此:

public void setTextInTextView(){
    tv = (TextView) findViewById(R.id.rate);
    Bundle extra = getIntent().getExtras();
    tv.setText(""+extra.getString("key"));   
}

感谢Omid的回复,但仍然显示出相同的错误;在setContentViewR.layout.activity_main之后;在那之前,我不知道。。。我得到了它。
public void setTextInTextView(){
    tv = (TextView) findViewById(R.id.rate);
    Bundle extra = getIntent().getExtras();
    if(extra != null)
        tv.setText(""+extra.getString("key"));   
}