0

ユーザーがデータを編集できるように、文字列を分割し、ループを使用して結果を edittexts に入れています。その後、最後のボタンを押すだけですべてのデータを edittexts に保存できます。問題は、取得方法がわからないことです。彼が保存ボタンを押したときの編集テキストの各値.これは私のコードです:

  EditText etstringone,etstringtwo; 
  Button btn_save;
  btnsave=new Button(this);

  String mystring="somevalue";
  String del="\\|";
  String[] splitResult = mystring.split(del); 

  for (String e : splitResult)
    {

     etstringone=new EditText(this);
     etstringtwo=new EditText(this);

    etstringone.setText(splitResult[0]);
    etstringtwo.setText(splitResult[1]);

    mylayout.addView(etstringone);
    mylayout.addView(etstringtwo);
    }
  mylayout.addView(btnsave);

  btnsave.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // how to get each value from the edittexts and output each to logcat,,i'll do the saving  and the rest

        }
    });

どうすればいいですか?ありがとう。

注意: 単一のボタンを使用してすべてのデータを取得することに重点を置いています。ループが実行されるたびに新しい保存ボタンを追加するシナリオを実行できましたが、きちんとしていません。

4

1 に答える 1

0

編集テキストは動的に作成されますが、引き続きオブジェクトにアクセスできます。編集テキストへの参照をキャッシュするか、「mylayout」の子ビューをウォークします。

編集

コードから、宣言します

EditText etstringone,etstringtwo;

それらをインスタンス化します

 etstringone=new EditText(this);
 etstringtwo=new EditText(this);

今、私はこれの範囲を知りません(それらはローカル変数、クラス/メンバー変数ですか?)クラス変数の場合、それらを

btnsave.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // how to get each value from the edittexts and output each to logcat,,i'll do the saving  and the rest

    }
});

体。例えば

btnsave.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
        String e1 = etstringone..getText().toString();

    }
});
于 2013-10-15T14:53:03.110 に答える