我正在制作纸牌游戏,我想显示一个对话框,提示用户选择套装。我创建对话框并设置布局。一旦我尝试使用setadapter填充微调器我的应用程序痉挛一个白色的屏幕来,它从一开始就重新加载。这是下面的代码。
private void showChooseSuitDialog(){
final Dialog chooseSuitDialog = new Dialog(myContext);
chooseSuitDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
chooseSuitDialog.setContentView(R.layout.choose_suit_dialog);
final Spinner suitSpinner = (Spinner)findViewById(R.id.suitSpinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(myContext, R.array.suits, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
suitSpinner.setAdapter(adapter); // **** This is where it blows up ****
// Button okButton = (Button) chooseSuitDialog.findViewById(R.id.okButton);
// okButton.setOnClickListener(new OnClickListener() {
// @Override
// public void onClick(View v) {
// validSuit = (suitSpinner.getSelectedItemPosition()+1) * 100;
// String suitText = "";
// if(validSuit == 100){
// suitText = "Diamonds";
// }else if(validSuit == 200){
// suitText = "Clubs";
// }else if(validSuit == 300) {
// suitText = "Hearts";
// }else {
// suitText = "Spades";
// }
// chooseSuitDialog.dismiss();
// Toast.makeText(myContext, "You chose " + suitText, Toast.LENGTH_SHORT).show();
// }
// });
答案 0 :(得分:0)
看起来你的微调器在活动(或片段)中,而不是在对话框中。
为卡选择器创建DialogFragment,并将微调器添加到该对话框片段的布局中。选择后将结果传回活动(或片段)。