我今天刚开始编写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");
}
}
这不会在Eclipse中出现任何错误,但在我尝试在手机上运行时会强行关闭。
当我移动行时,我可以成功地将测试作为textview声明为公共空白,但我希望能够从活动中的任何空隙中使用变量test。
谢谢!
答案 0 :(得分: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");
}
答案 1 :(得分:2)
将其声明为您的活动的变量,并在调用setContentView()
后对其进行初始化。如果您只是设置TextView
的文字,则无需在函数中传递View参数。
public class MainActivity extends Activity {
private TextView test;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_launch);
test = (TextView)findViewById(R.id.textView2);
registermessage();
}
public void registermessage() {
test.setText("Test");
}