在Android中显示包含不同类型信息的列表

在Android中显示包含不同类型信息的列表,android,android-ui,Android,Android Ui,我想创建一个包含X个问题的页面(这些问题存储在数据库中,我阅读了它们)、标题和结尾的按钮 当用户单击一个问题时,该问题应转换为一个对话框,用户可以在其中修改该问题,但其上下的其他问题仍应以相同的方式显示 从android文档中的示例记事本应用程序中使用ListActivity的方式来看,该类似乎只能显示相同类型的多个项目 有没有一个简单的方法来解决这个问题?我应该告诉你,作为一个用户,我不喜欢你的解决方案。 我更喜欢从列表中选择,并在单击后进行编辑活动。 这是我在每个android应用程序中看到

我想创建一个包含X个问题的页面(这些问题存储在数据库中,我阅读了它们)、标题和结尾的按钮

当用户单击一个问题时,该问题应转换为一个对话框,用户可以在其中修改该问题,但其上下的其他问题仍应以相同的方式显示

从android文档中的示例记事本应用程序中使用ListActivity的方式来看,该类似乎只能显示相同类型的多个项目


有没有一个简单的方法来解决这个问题?

我应该告诉你,作为一个用户,我不喜欢你的解决方案。 我更喜欢从列表中选择,并在单击后进行编辑活动。 这是我在每个android应用程序中看到的默认方法,对你来说也会更容易

如果你仍然想做你解释的事情,我会尝试这样做:

  • 创建一个
    列表视图
  • 创建一个类
    QuestionOrDialog
  • 创建从ArrayAdapter扩展的适配器
覆盖
getView
执行以下操作:

QuestionOrDialog aQuestionOrDialog =  getItem(position);

if ( aQuestionOrDialog.showDialog() ) {
  return mInflater.inflate(R.layout.dialog, parent, false);
} else {
  view = mInflater.inflate(R.layout.question, parent, false);
  TextView question = (TextView) view.findViewById(R.id.question);
  question.setText(aQuestionOrDialog.getQuestion());
}
  • OnClick
    上,您必须执行一个getItem()并将其设置为单击
  • 告诉listView其项已更改

希望它能起作用。

我应该告诉你,作为一个用户,我不喜欢你的解决方案。 我更喜欢从列表中选择,并在单击后进行编辑活动。 这是我在每个android应用程序中看到的默认方法,对你来说也会更容易

如果你仍然想做你解释的事情,我会尝试这样做:

  • 创建一个
    列表视图
  • 创建一个类
    QuestionOrDialog
  • 创建从ArrayAdapter扩展的适配器
覆盖
getView
执行以下操作:

QuestionOrDialog aQuestionOrDialog =  getItem(position);

if ( aQuestionOrDialog.showDialog() ) {
  return mInflater.inflate(R.layout.dialog, parent, false);
} else {
  view = mInflater.inflate(R.layout.question, parent, false);
  TextView question = (TextView) view.findViewById(R.id.question);
  question.setText(aQuestionOrDialog.getQuestion());
}
  • OnClick
    上,您必须执行一个getItem()并将其设置为单击
  • 告诉listView其项已更改
希望它能起作用