我正在开发一个棋盘游戏应用程序(类似于国际象棋)。我有一个活动 GameBoardActivity ,它监听 GridView 上的点击,并且在每次点击时调用来自类 Game 的函数来处理应该发生的事情。
在类 Game 中包含有关棋子在哪里以及Move(int xFrom, int yFrom, int xTo, int yTo)
处理棋子移动的方法的数据。
对于用户可能指定的某些动作(例如,xFrom、yFrom 处的片段应该转到 xTo、yTo)我想为他们提供两个选项之间的选择。你可以想象,一个选择是正常去那里,另一个是作为一个变形块去那里。为此,我想显示一个自定义对话框,显示两个选项供用户单击。
我的自定义对话框类如下:
public class CustomDialog extends Dialog implements View.OnClickListener{
Context mcontext;
Button button1;
Button button2;
int choice; //holds value of user's choice
public CustomDialog(Context context) {
super(context);
mcontext = context;
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
choice = 0; //no choice yet
}
public void setLayout(){
this.setContentView(R.layout.custom_dialog);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.button1:
choice = 1;
break;
case R.id.button2:
choice = 2;
break;
}
dismiss();
}
}
我不清楚的是如何将有关用户选择的信息传递回类 Game。
任何帮助是极大的赞赏。