Android 显示一组对象,通过单个对话框一次显示一个。。。而不是几个对话框

Android 显示一组对象,通过单个对话框一次显示一个。。。而不是几个对话框,android,android-dialog,Android,Android Dialog,在我的应用程序中,我在ArrayList中存储了一个问题列表,我想显示一个对话框,显示一个问题,然后在回答问题后继续下一个问题。我目前的做法(通过循环进行迭代)不起作用,因为它只是将所有对话框一次叠在另一个对话框上,这会导致许多其他问题。我要寻找的是一种方法,它仍然可以迭代问题,但每次只需更改对话框的布局,直到它完成列表中的每个问题。有谁能给我一个好的指针,告诉我如何进行这项工作吗?您可以制作一个函数,将标题和消息作为参数,并显示一个对话框 showDialog(String title, St

在我的应用程序中,我在ArrayList中存储了一个问题列表,我想显示一个对话框,显示一个问题,然后在回答问题后继续下一个问题。我目前的做法(通过循环进行迭代)不起作用,因为它只是将所有对话框一次叠在另一个对话框上,这会导致许多其他问题。我要寻找的是一种方法,它仍然可以迭代问题,但每次只需更改对话框的布局,直到它完成列表中的每个问题。有谁能给我一个好的指针,告诉我如何进行这项工作吗?

您可以制作一个函数,将标题和消息作为参数,并显示一个对话框

showDialog(String title, String message){ // Show dialog code here}
在该对话框的应答按钮的侦听器中,调用另一个函数(showQuestion(currentQuestion)),该函数迭代arrayList,直到它结束

int currentQuestion=0;
ArrayList<QuestionObject> questionList;

showQuestion(int i){
  if(i<questionList.size()){
  showDialog(questionList.get(i).getTitle,questionList.get(i).getMessage);
  currentQuestion++;
  }else{
   //quiz is over
  }
}
int currentQuestion=0;
ArrayList问题列表;
显示问题(int i){

如果(i如果您试图使用积极、中立和消极按钮,那么您可能会在多个对话框中遇到问题。请尝试使用您自己的文本视图、列表视图和按钮定义自定义布局。您可以像常规布局一样实现侦听器和其他所有功能。然后只需通过
Al将自定义布局传递给对话框即可ertDialog.Builder.setView()


PS如果您包括您当前正在做的事情的代码示例,我们可以提供不那么含糊的答案。

我假设您的意思是您只想更改一个布局(在XML中创建,即main.XML)。为此,请确保您处理的类指向该布局。从那里开始(假设您在用户提交答案时使用事件侦听器)您可以通过以下方式更改您想要执行的操作:

TextView txt = (TextView) findViewById(R.id.textView); // references the txt XML element
在您的事件侦听器中,如果答案正确,则进行更改(i是否是初始设置为0的全局变量)


if(我为什么使用对话框?您可以创建一个视图并更改其内容。我使用对话框是因为当前视图与所回答的问题相关,并在提问部分完成后执行其他操作。我正在朝类似的方向努力。这正是我所需要的,谢谢!
if(i<arrayList.size()){
     txt.setText(arrayList.get(++i));
}else{
     txt.setText("You Finished");
}