如何声明TextView变量以便我可以在任何地方使用它?

Ary*_*ryo 3 android

我今天刚开始编写java/android编码,请原谅我,如果我是一个完全白痴的话.

我在过去一小时内一直面临这个问题,我试图谷歌但却找不到任何答案.

如何将TextView声明为静态/变量,以便只需键入"variablename"即可访问它.我代码中的任何地方?

我不是试图从另一个活动访问TextView,这些都在同一个活动中.

这是我的代码看起来像(所有在mainactivity.java中):

public class MainActivity extends Activity {

    TextView test = (TextView)findViewById(R.id.textView2);

    public void registermessage(View view) {
        test.setText("Test");
    }
}
Run Code Online (Sandbox Code Playgroud)

这不会在Eclipse中出现任何错误,但只是在我尝试在手机上运行时会强制关闭.

当我移动行时,我可以成功地将测试作为textview声明为public void但我希望能够从活动中的任何void中使用变量test.

谢谢!

Seb*_*eit 6

您必须setcontentView在调用方法后实例化变量,因此您必须执行以下操作:

public class MainActivity extends Activity {

TextView test;

@Override
onCreate(Bundle s){
    ...
    setContentView(R.layout.yourLayout);
    test = (TextView)findViewById(R.id.textView2);
}


public void registermessage(View view) {

    test.setText("Test");
}
Run Code Online (Sandbox Code Playgroud)