在我在Android Studio中的java代码中,我有很多引用相同ImageView head
的方法,例如此方法:
public void blue(View view) {
ImageView head = (ImageView) findViewById(R.id.head);
head.bringToFront();
blueOn = true;
redOn = false;
}
因此,我想让head
成为一个全局变量,代码如下:
ImageView head = (ImageView) findViewById(R.id.head);
public void blue(View view) {
head.bringToFront();
blueOn = true;
redOn = false;
}
但这会产生错误,代码的这一部分是否有问题,或者错误可能在其他地方?
答案 0 :(得分:3)
在代码
下面查看public class HomeActivity extends Activity{
private ImageView head;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
head= (ImageView) findViewById(R.id.head);
}
public void blue(View view) {
head.bringToFront();
blueOn = true;
redOn = false;
}
}
答案 1 :(得分:2)
它可以,但你需要在oncreate中做findviewbyid,因为在有活动之前你不能findviewbyid,并且在设置布局之后可以在这个特定的布局中找到id。
ImageView head;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_activity);
head = (ImageView) findViewById(R.id.head);
}
答案 2 :(得分:0)
它可以是一个全局变量,我认为你的问题在于实现。您可以发布该活动的完整代码吗?