单击 button1 后,将调用另一个布局和另一个类。现在我想将 textView 的文本从类 2 中更改出来,这会导致应用程序崩溃并出现 java.lang.NullPointerException
第 1 类的重要部分
public static TextView A;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
[第 1 类中的按钮内容]
setContentView(R.layout.raten);
final TextView A = (TextView) findViewById(R.id.A); //the textview I wanna chage
max = 10;
Easy easy = new Easy(); // the other class
easy.e();
[现在应该更改文本的 1 类中的方法]
public static void Tx(int i)
{
A.setText("adsfasdf");
}
[第 2 类(“简单”)的重要部分]
public void e(){
System.out.println("called class easy");
int max = MainActivity.max;
System.out.println(max);
for (int i= 0; i<max; i++){
System.out.println("runde"+i);
MainActivity.Tx(i);
}
我知道,有些人已经问过这样的问题,但我没有找到可行的解决方案。我已经明白,您无法访问 UI 线程之外的 UI 内容,并且出现 nullpointerexception,因为他使用“空”public static TextView A;
而不是final TextView A = (TextView) findViewById(R.id.A)
.
但是我怎样才能使它对其他方法可见呢?
抱歉,如果帖子看起来很乱,但我不知道如何更好地解释我的情况