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

时间:2010-06-26 18:02:22

标签: android android-ui

我想创建一个包含X个问题的页面(问题存储在数据库中,我会阅读它们),最后是标题和按钮。

当用户点击一个问题时,问题应该转换为用户可以修改问题的对话框,但是上面和下面的其他问题应该仍然以相同的方式显示。

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

有没有直接解决这个问题的方法?

1 个答案:

答案 0 :(得分:1)

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

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

  • 创建ListView
  • 创建课程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它的项目已更改。

希望它有效。