我正在编写一个Android应用程序,其中列表显示图像和一些其他信息,如标题,地点等...
我是Android生态系统的新手,想知道实现一个列表元素的最佳实践是什么,该列表元素通常显示所提到的信息,并在按下该元素时转换为输入字段。
我是否必须将显示元素(例如TextField
)和编辑元素相互叠加并设置为显示或输入可见?一般如何处理?或者我是否完全替换负责列表元素的布局?
我知道,对于文本的简单情况,有一个简单的解决方案可以使EditText
字段看起来像一个不可编辑的TextField
。但是,我正在寻找一个涵盖更广泛案例的一般答案而不仅仅是TextField
。
谢谢!
答案 0 :(得分:1)
你可以使listview
视图鳍状肢的元素有两个视图。一个是textview,另一个是edittext。
<ViewFlipper
...
<TextView
... />
<EditText
... />
/ViewFlipper>
然后在列表项的onItemClickListener
中,您可以调用flipper.showNext()
;
因此,鳍状肢的工作原理是,它只显示在其中定义的第一个视图,并在随后的showNext()
调用中显示其中定义的下一个视图。
因此,如果你有2个元素,它将表现为具有两面的硬币。
答案 1 :(得分:1)
因此,在您的情况下,有几种方法可以实现这一目标。
第一种方法是构建一个包含TextView
和EditText
的布局,在第一次初始化时,您的编辑文本将不可见。在OnItemClick
中,您必须隐藏文本视图并显示包含当前数据值和编辑选项的editext。
我认为更加用户友好的第二种方式是,您可以在AlertDialog
之后使用自定义布局显示OnItemClick
,您可以更改值并在用户按“是”或不执行任务后更新列表视图他选择否。
这取决于你将采用哪种方式,但我认为第二种选择是更好的选择。