使用ListView进行内联编辑可以吗?
编辑:
我无法写入EditText,当我尝试写入时它会消失 某事,因为我修改数据时调用了 getView()
我需要从 SQLite 加载一些数据将其列出在 ListView 或 Grid 中。接下来是提供内联编辑功能,即用户也可以在 ListView 或网格内编辑数据。
目前我正在使用 ListView 来实现此目的。我所做的是,我已经定义了行项目的布局,下面提供了示例 xml:
rowitem.xml
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:text=""
android:id="@+id/txtQuestionId"
android:layout_width="100dp"
android:layout_height="50dp"
android:clickable="true"
android:padding="5dip"
android:gravity="left"
android:background="@android:color/transparent"/>
<EditText
android:text=""
android:id="@+id/txtQuestion"
android:layout_width="400dp"
android:layout_height="50dp"
android:clickable="true"
android:padding="3dip"
android:gravity="left"
/>
<TextView
android:text=""
android:id="@+id/txtStandard"
android:layout_width="200dp"
android:layout_height="50dp"
android:padding="5dip"
android:gravity="left"/>
<RadioGroup android:id="@+id/rdbStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" android:weightSum="1">
<RadioButton android:id="@+id/rbSAT"
android:layout_width="wrap_content" android:text="SAT"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
<RadioButton android:id="@+id/rbUNSAT"
android:layout_width="wrap_content" android:text="UNSAT"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
<RadioButton android:id="@+id/rbNA"
android:layout_width="wrap_content" android:text="NA"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
</RadioGroup>
</TableRow>
<!-- just draw a red line -->
<View
android:layout_height="2dip"
android:background="#FF0000" />
</TableLayout>
我正在从 SQLite 获取数据使用自定义 DataAdapter 类将数据与 ListView 绑定。
我有几个问题:
1- 在 Android 中内联编辑的最佳实践是什么?
2- 内联编辑 ListView 或 Grid 的最佳选项是什么?< /strong>
3- 什么是优点和优点?使用 ListView 进行内联编辑的硬币?
非常感谢。
EDIT:
I can't write into the EditText, it disappears when i try to write
something, its because the getView() is called when i modify the data
I need to load some data from SQLite & list it in a ListView or Grid. The next thing is to provide the inline editing functionality, i.e the user can edit the data also within that ListView OR grid.
Currently i am using the ListView for this purpose. What i have done is that i have defined layout for the row item, the sample xml is provide below:
rowitem.xml
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="1">
<TextView
android:text=""
android:id="@+id/txtQuestionId"
android:layout_width="100dp"
android:layout_height="50dp"
android:clickable="true"
android:padding="5dip"
android:gravity="left"
android:background="@android:color/transparent"/>
<EditText
android:text=""
android:id="@+id/txtQuestion"
android:layout_width="400dp"
android:layout_height="50dp"
android:clickable="true"
android:padding="3dip"
android:gravity="left"
/>
<TextView
android:text=""
android:id="@+id/txtStandard"
android:layout_width="200dp"
android:layout_height="50dp"
android:padding="5dip"
android:gravity="left"/>
<RadioGroup android:id="@+id/rdbStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" android:weightSum="1">
<RadioButton android:id="@+id/rbSAT"
android:layout_width="wrap_content" android:text="SAT"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
<RadioButton android:id="@+id/rbUNSAT"
android:layout_width="wrap_content" android:text="UNSAT"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
<RadioButton android:id="@+id/rbNA"
android:layout_width="wrap_content" android:text="NA"
android:layout_height="wrap_content"
android:onClick="onStatusClicked"/>
</RadioGroup>
</TableRow>
<!-- just draw a red line -->
<View
android:layout_height="2dip"
android:background="#FF0000" />
</TableLayout>
I am getting the data from SQLite & using a custom DataAdapter class bind the data with ListView.
I have few questions:
1- What are the best practices for inline editing in android?
2- What is the best option for inline Editiing ListView OR Grid?
3- What are pros & coins of using ListView for inline Editing?
Great Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好的,这是我个人的意见.. 如果您喜欢的话请尝试..
从数据库中填充列表中的数据。 (布局中不需要 EditText)。
使用 Edittext 创建一个对话框。现在,当用户单击 ListItem 时,打开该对话框,其中包含当前所选列表行文本视图中的预填充文本。然后允许用户对其进行更改。当用户在对话框上单击“确定”时,然后修改列表项中的 Textview。
Ok, Its my personal opinion.. try if you like it..
Fill data in your list from database. (No need of EditText in layout).
Make a dialog with Edittext. Now when user click on ListItem open that dialog with pre-populated text from current selected list row textview. Then allow user to change in it. When user click OK on dialog then modify that Textview in list item..
为什么不呢?这对用户来说绝对是好事,但开发起来有点棘手。
Why not? It would be definitely nice for user, but kind of tricky to develop.
@yaqub 使用 EditorActionListener 和 imeOptions="actionDone"
一样
@yaqub use EditorActionListener with imeOptions="actionDone"
like