如何创建第1行的android列表视图:textview + spinner第2行:textview + edittext等?
我必须制作一个表格并使用xml布局制作它,但它太长而且不像日食那样表现不好。
谢谢!
答案 0 :(得分:0)
如果每行中重复相同的视图,则可以使用ListView。在这里,您可以获得适配器回收视图机制带来的性能优势。由于每一行都有不同的视图,因此无法回收,因此无需使用listview。
因此,根据您在这里的行类型有两种解决方案:
解决方案1:
第1行有textview + spinner,第2行有textview + EditText。这个组合重复其余的行然后你可以试试这个。您为ListView创建单个行布局的xml应该是一个包含两行的LinearLayout。 ListView将通过附加此LinearLayout为您创建其余行。
解决方案2:
如果每一行与其他行完全不同(就使用的视图而言),那么我建议使用分页。将表单问题划分为不同的相关组,将每个组放在一个页面上(scrollview)。当用户回答一组时,他们必须导航到下一页,依此类推。
正如@Xaver Kapeller所建议的那样,我还建议不要在ListView中使用EditText。调试键盘问题非常痛苦,并且当键盘打开时设备方向也会发生变化。而不是使用EditText,使用TextView,在点击时打开带有EditText的对话框。保持用户互动最小化。
一旦对话框打开,您就可以对EditText进行聚焦,以便键盘打开,用户无需点击EditText。您也可以通过按下软键盘上的“完成”或按下硬后退按钮等imeAction来关闭对话框。关闭对话框应该触发textview.setText(“在对话框中输入的数据”)。