Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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 空指针异常textview_Java_Android - Fatal编程技术网

Java 空指针异常textview

Java 空指针异常textview,java,android,Java,Android,setText java.lang.Charsqence中存在空对象引用上的空指针异常,idk为什么?textview电视正在进行另一项活动,也许这就是重点 Intent intent = new Intent(this, DisplayResultActivit.class); EditText edittext = findViewById(R.id.liczba); EditText edittext2 = findViewById(R.id.liczba2); int wpis2 = I

setText java.lang.Charsqence中存在空对象引用上的空指针异常,idk为什么?textview电视正在进行另一项活动,也许这就是重点

Intent intent = new Intent(this, DisplayResultActivit.class);
EditText edittext = findViewById(R.id.liczba);
EditText edittext2 = findViewById(R.id.liczba2);
int wpis2 = Integer.valueOf(edittext2.getText().toString());
int wpis = Integer.valueOf(edittext.getText().toString());
int suma  = wpis + wpis2;
TextView tv = findViewById(R.id.result);
tv.setText(String.valueOf(suma));
startActivity(intent);

事实上,如果您试图从findViewById访问一个对象,但找不到该对象,您将得到一个NullPointerException

我假设,您尝试在尝试重定向到的Activitys视图上填充文本字段?如果是这种情况,您可以向意图中添加其他对象,这些对象将从第二个活动中读取

在第一个活动中,请尝试:

intent.putExtra("myText", String.valueOf(suma));
startActivity(intent);
在第二个活动的onCreate中,请尝试:

Intent incomingIntent = getIntent();

if (incomingIntent.hasExtra("myText")) {
    TextView tv = findViewById(R.id.result);
    tv.setText(incomingIntent.getStringExtra("myText");
}
空对象引用上的setText java.lang.Charsqence中出现空指针异常


因为异常和以上代码表明在rootview树中找不到电视。因此,必须将TextView id is result添加到此活动的contentViewlayout xml文件中

您无法直接访问其他活动的文本视图。您必须在启动活动时传递意图,然后在活动创建时传递意图,然后通过id查找文本视图,然后从上一个活动传递并将其设置为文本视图的获取意图

首先,当您在意图中创建活动传递值时

    EditText edittext = findViewById(R.id.liczba);
    EditText edittext2 = findViewById(R.id.liczba2);
    int wpis2 = Integer.valueOf(edittext2.getText().toString());
    int wpis = Integer.valueOf(edittext.getText().toString());
    int suma  = wpis + wpis2;
    Intent intent = new Intent(this, DisplayResultActivit.class);
    intent.putExtra("suma", suma);
    startActivity(intent);
然后在DisplayResultActivit中

Intent intent= getIntent();
TextView tv = findViewById(R.id.result);
if (getIntent().getExtras() != null) {
    int suma = getIntent().getIntExtra("suma",0);
    tv.setText(String.valueOf(suma));
}

IMO TextView tv=findviewbydr.id.result;参考tv为空。我看不到完整的代码,但您是否实例化了对象tv?是否可以发布完整的活动代码
Intent intent= getIntent();
TextView tv = findViewById(R.id.result);
if (getIntent().getExtras() != null) {
    int suma = getIntent().getIntExtra("suma",0);
    tv.setText(String.valueOf(suma));
}