ImageView可以是全局变量吗?

时间:2016-12-11 11:13:31

标签: java android variables methods imageview

在我在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;
}

但这会产生错误,代码的这一部分是否有问题,或者错误可能在其他地方?

3 个答案:

答案 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)

它可以是一个全局变量,我认为你的问题在于实现。您可以发布该活动的完整代码吗?