1

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

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

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

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

4

1 回答 1

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 它的项目已更改。

希望它有效。

于 2010-06-26T18:25:05.623 回答