Android Change textView来自另一个方法/类的文本

Android Change textView来自另一个方法/类的文本,android,Android,单击按钮1后,将调用另一个布局和另一个类。 现在我想将textView的文本从类2中更改出来,这会导致java.lang.NullPointerException导致应用程序崩溃 第1类的重要部分 public static TextView A; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay

单击按钮1后,将调用另一个布局和另一个类。 现在我想将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(“称为class easy”);
int max=MainActivity.max;
系统输出打印项次(最大值);

对于(inti=0;i而不是定义一个新的局部变量a,只需分配给静态变量

改变

final    TextView A = (TextView) findViewById(R.id.A); //the textview I wanna chage


A
Tx

(当然,您的
main活动必须在调用
easy.e()
时创建)

非常感谢您的回答,但不幸的是,这并没有解决任何问题,我得到了与以前完全相同的错误:/您是否验证了对findViewById的调用没有返回null?我已经提到,findViewById不是由Tx()读取的。Tx()使用
公共文本视图A;
这就是我意识到的问题。您有一个类变量和一个局部变量都称为A。您分配给局部变量,因此类变量当然仍然为null。当您分配给类变量时,它仍然为null,因此可能对findViewById的调用返回null。您应该尽量避免statics,也许您可以将一个指向类1实例的指针传递给Easy.eSo,我是这样做的,“无法从MainActivity类型静态引用非静态方法Tx(int)”。调用Easy.e()时必须创建MainActivity是什么意思?这样调用它
MainActivity.this.Tx(I);
很抱歉浪费您的时间,但是现在我在该方法上得到了“没有MainActivity类型的封闭实例在作用域中是可访问的”。只是尝试了将MainActivity作为对象,但结果是相同的
final    TextView A = (TextView) findViewById(R.id.A); //the textview I wanna chage
A = (TextView) findViewById(R.id.A); //the textview I wanna chage