我的onCreate-method中有以下代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView field1 = (ImageView) findViewById(R.id.field1);
field1.setBackgroundResource(R.drawable.field0);
如何在任何其他方法中设置BackgroundResource:
public void setBackground() {
field1.setBackgroundResource(R.drawable.field2);
}
它说,field1无法解析为变量......
答案 0 :(得分:1)
将field1设置为类的全局,如下所示:
ImageView field1=null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
field1 = (ImageView) findViewById(R.id.field1);
field1.setBackgroundResource(R.drawable.field0);
}
public void setBackground() {
field1.setBackgroundResource(R.drawable.field2);
}
答案 1 :(得分:0)
您需要将视图放在函数的参数中:
public void setBackground(ImageView view) {
view.setBackgroundResource(R.drawable.field2);
}
现在你可以这样称呼它:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView field1 = (ImageView) findViewById(R.id.field1);
setBackground(field1);
无论如何,你应该阅读一些代码教程,以便学习编码的基础。
答案 2 :(得分:0)
ImageView field1;
在onCreate方法的基础上设置ImageView,因为它可以被整个类使用