Итак, я новичок в Android Studio, и я не получал никакой помощи через Google. Поэтому моя проблема заключается в том, что я пытаюсь получить доступ к ImageButton из другого класса, а не просто поместить этот метод в MainActivity
.Как мне получить доступ к ImageButton в другом классе в Android Studio?
Мой второй вопрос: я делаю это неправильно? Как бы вы решили это без необходимости использовать этот способ изменения изображений в MainActivity, который я делал ранее (он тоже работал, но стал выглядеть грязным).
Так что это Player class
:
public class Player extends ActionBarActivity {
public Player(){
}
public void changeThatPicture(int siffra){
ImageButton imgBtn = (ImageButton) findViewById(R.id.tarning);
switch(siffra){
case 1: imgBtn.setImageResource(R.drawable.one); break;
case 2: imgBtn.setImageResource(R.drawable.two); break;
case 3: imgBtn.setImageResource(R.drawable.three); break;
case 4: imgBtn.setImageResource(R.drawable.four); break;
case 5: imgBtn.setImageResource(R.drawable.five); break;
case 6: imgBtn.setImageResource(R.drawable.six); break;
}
}
}
А вот от моего MainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Player p1 = new Player();
number = 1 + random.nextInt(6);
p1.changeThatPicture(number);
playGame();
}
Для правильного извлечения представлений вам понадобится контекст активности. Вы можете передать это в свой класс Player, который затем может загрузить представление и позволить вам манипулировать им. –
Вы также можете просто вернуть нужное значение и установить его там – codeMagic
Здесь есть много чего, с точки зрения программирования. Игроку не нужно расширять ActionBarActivity. См. Мой ответ. –