如果有人在用对话框回答选择问题后选择了特定答案,我想跟进一个对话框。
在此示例中,如果此人选择“Choice1”,则应打开另一个对话框以询问更多问题。
我在下面有以下部分代码:
private void openDialog1()
{
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("Select Choice");
builder.setSingleChoiceItems(ChoiceLists.listofchoices,-1,new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
ccRewardDialog.dismiss();
String finalString = "";
if((ChoiceLists.listofchoices[item].equals("Choice1")) || (ChoiceLists.listofchoices[item].equals("Choice2")))
{
openDialog2();
}
TextView tv1 = (TextView) getActivity().findViewById(R.id.tv1);
finalString = ChoiceLists.strRewards[item];
if(!RESULT.equals("")) //RESULT being a global value
{
finalString = finalString + "-" + RESULT;
RESULT = "";
}
tv1.setText(tv1.getText() + finalString + "\n");
}
});
dialog1 = builder.create();
dialog1.show();
}
private void openDialog2()
{
LayoutInflater li = LayoutInflater.from(getActivity());
View promptView = li.inflate(R.layout.reward_detail_prompt, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(promptView);
final EditText userInput = (EditText) promptView.findViewById(R.id.etRewardDetail);
builder.setCancelable(false);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
RESULT = userInput.getText().toString();
}
});
builder.setNegativeButton("Cancel",new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
RESULT = ""; //RESULT being a global value
}
});
}
如果我不能这样做的话。你会怎么做呢?提前致谢。我正在继续学习更多内容,感谢所有的帮助
答案 0 :(得分:3)
完成第二种方法,例如
private void openDialog2()
{
...
builder.create().show();
}