首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑文本列表编辑

编辑文本列表编辑
EN

Stack Overflow用户
提问于 2016-10-03 12:11:19
回答 2查看 53关注 0票数 0

在我的应用程序中,有一个大的EditText字段,其中包含由"\n“分隔的条形码。可以以编程方式(在从扫描活动返回的EditText中)或手动将条形码添加到此EditText字段。

随机示例:

代码语言:javascript
复制
010566510415
40541651654556
561516551588
0043211652
003789453

我需要这些条形码中的每一个都以它们的条形码类型保存在本地。

随机示例:

代码语言:javascript
复制
012315612323 - Code128 (scanned)
561516551588 - Custom (manually inputted)
0123156124xx - Code128_Custom (scanned, then edited by user!!)

我使用的扫描库标识扫描上的条形码类型,因此我有一个对象的ArrayList,它用它们各自的条形码类型保存扫描的条形码。

代码语言:javascript
复制
public class BarcodeObject
    {
        private int _position = -1;
        private String _barcode = "";
        private String _barcodeType = "";
    }

当用户手动编辑条形码时,我遇到的问题是使ArrayList<BarcodeObject>与editText保持同步。

你对我该如何完成这件事有什么想法吗?

编辑1 :谢谢你的回答。一个问题是,我不知道用户正在修改什么条形码。我设法通过使用numbersList.getSelectionStart();查找光标所在的位置来解决这个问题,然后查找最近的"\n“,以便识别正确的条形码(bcs--所有条形码都在”\n“之间)。但是,如果用户单击多个条形码并对其进行更改,会发生什么情况。我只是不知道如何保持它们同步。

EN

回答 2

Stack Overflow用户

发布于 2016-10-03 12:24:17

可以根据索引更新数组列表,例如:

代码语言:javascript
复制
private ArrayList<BarcodeObject> barcodes = new ArrayList<Object>();
barcodes.set(#indexposition#, #BarcodeObject#);

并在BarcodeObject类中添加getter和setter,以更新对象;

票数 0
EN

Stack Overflow用户

发布于 2016-10-03 12:27:06

假设您只有一个EditText,并且希望在用户停止键入之后保存数据.

您必须用afterTextChanged()beforeTextChanged()onTextChanged().扩展类并覆盖TextWatcher您必须用afterTextChanged()方法编写所需的逻辑,以实现所需的功能。

这意味着,在您的afterTextChanged()中,您可以编写以下代码,并且它将很好地工作。

代码语言:javascript
复制
bcodes.set(#position#, #Barcode-Object#);

假设你已经初始化了bcode..。

代码语言:javascript
复制
private ArrayList<BarcodeObject> bcodes = new ArrayList<Object>();

希望能帮上忙。干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39831330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档