私のアプリには、 "\ n"で区切られたバーコードを含む大きなEditTextフィールドがあります。バーコードをこのEditTextフィールドにプログラムで(スキャンアクティビティから返されるonActivityResultで)または手動で追加することができます。編集テキストリスト編集
ランダム例:
010566510415
40541651654556
561516551588
0043211652
003789453
私は、これらのバーコードのそれぞれは、そのバーコードの種類をローカルに保存する必要があります。
ランダム例:
- Code128 (scanned)
561516551588 - Custom (manually inputted)
xx - Code128_Custom (scanned, then edited by user!!)
Iが使用スキャニングライブラリはスキャン上のバーコードのタイプを識別するので、私は、それぞれのバーコードタイプでスキャンしたバーコードを保存するオブジェクトのArrayListのを持っています。
public class BarcodeObject
{
private int _position = -1;
private String _barcode = "";
private String _barcodeType = "";
}
私がいる問題は、ユーザーが手動でバーコードを編集EDITTEXT、と同期してArrayList<BarcodeObject>
を保っています。
私はこれをどのように達成する必要がありますか?
編集1:ありがとうございました。 1つの問題は、ユーザーが変更しているバーコードがわからないことです。私はnumbersList.getSelectionStart();
を使ってカーソルをどこかを見つけ出し、正しいバーコードを識別するために最も近い "\ n"を探して解決しました(すべてのバーコードは "\ n"の間にあります)。しかし、ユーザーが1つ以上のバーコードをクリックして変更するとどうなりますか?私はちょうどそれらを同期させておく方法を知らない。
あなたの編集テキストにTextWatcherを保存し、ユーザーによって何かが変更された場合は既存のarraylistで検索してみてください – Jai