在null对象引用的setText(java.lang.CharSquence)中存在Null指针异常,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);
答案 0 :(得分:2)
的确,如果尝试从findViewById中访问对象(如果找不到),则将获得NullPointerException。
我假设您尝试在要重定向到的“活动”视图上填充TextField?在这种情况下,您可以向该意图中添加其他对象,这些对象将从第二个活动中读出。
在第一个活动中尝试:
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");
}
答案 1 :(得分:0)
空对象引用上的setText(java.lang.CharSquence)中的空指针异常
Button
作为例外,上面的代码表明在您的rootview树中找不到电视。因此,您必须在此活动的contentView(布局xml文件)中添加TextView id为“ result”。
答案 2 :(得分:0)
您无法直接访问其他活动的textView,在启动活动时必须先传递意图,然后在创建活动时按ID查找TextView,然后从上一个活动传递的getIntent并将其设置为文本视图。 / p>
首先创建意图中的活动传递值
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));
}