我正在开发一个应用程序,它是一个简单的纸牌游戏,我在视图上以动态方式添加了一个按钮,该按钮代表游戏的纸牌,但是当它是时,此按钮不接收任何输入按下。 问题是:为什么按钮没有收到任何输入?
我已经尝试使用日志来打印消息,但是什么也没打印。
public class MainActivity extends AppCompatActivity {
private Banco banco;
private Giocatore giocatore1;
private Giocatore giocatore2;
private Giocatore giocatoreAttuale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
giocatore1 = new GiocatoreUmano();
giocatore2 = new GiocatoreUmano();
banco = new Banco(giocatore1,giocatore2);
giocatoreAttuale=giocatore1;
DaiCarteAiGiocatori();
DaiCarteAlPlayerOne();
}
private void DaiCarteAlPlayerOne(){
Button primaCarta = new Button(this); //BUTTON OF THE CARD
primaCarta.setText(giocatore1.getCartaByIndex(0).getSeme().toString()+":"+giocatore1.getCartaByIndex(0).getValore());
ConstraintLayout layout = findViewById(R.id.baseLayout);
layout.addView(primaCarta);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.move_cards); // THE ANIMATION
primaCarta.startAnimation(animation);
//when the button is pressed the log should print the message of the card
primaCarta.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
banco.giocaCarte(giocatore1,giocatore1.getCartaByIndex(0));
Log.i("CARTA","Carta Premuta");
}
});
}
private void DaiCarteAiGiocatori(){
banco.pescaCarte();
}
}
感谢您的帮助。
答案 0 :(得分:0)
在//!!!
评论的三个地方查看我的更改
public class MainActivity extends AppCompatActivity implements View.OnClickListener { //!!!
private Banco banco;
private Giocatore giocatore1;
private Giocatore giocatore2;
private Giocatore giocatoreAttuale;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
giocatore1 = new GiocatoreUmano();
giocatore2 = new GiocatoreUmano();
banco = new Banco(giocatore1,giocatore2);
giocatoreAttuale=giocatore1;
DaiCarteAiGiocatori();
DaiCarteAlPlayerOne();
}
private void DaiCarteAlPlayerOne(){
Button primaCarta = new Button(this); //BUTTON OF THE CARD
primaCarta.setOnClickListener(MainActivity.this); //!!!
primaCarta.setText(giocatore1.getCartaByIndex(0).getSeme().toString()+":"+giocatore1.getCartaByIndex(0).getValore());
ConstraintLayout layout = findViewById(R.id.baseLayout);
layout.addView(primaCarta);
Animation animation = AnimationUtils.loadAnimation(this, R.anim.move_cards); // THE ANIMATION
primaCarta.startAnimation(animation);
}
//!!!
@Override
public void onClick(View v) {
banco.giocaCarte(giocatore1,giocatore1.getCartaByIndex(0));
Log.i("CARTA","Carta Premuta");
}
private void DaiCarteAiGiocatori(){
banco.pescaCarte();
}