У меня есть следующий код в моем методе onCreate:
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);
}
Он говорит, что поле1 не может быть разрешено переменной...
установите поле1 в глобальный класс следующим образом:
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);
}
ImageView field1;
Установите ImageView поверх метода onCreate, поскольку он может использоваться всем вашим классом
Вам нужно поместить представление в параметр вашей функции:
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);
В любом случае, вы должны, вероятно, прочитать учебник по коду, чтобы изучить основы кодирования.