-1

テキストを設定していますEditTextが、そこからテキストを取得するTextWatcherと空の文字列が返されます。

このコードを確認してください

for (int i = 0; i < 4; i++) {
   et = new EditText(this);
   et.setText("hai");
   final EditText finalEt = et;
   ans.addView(et);
   final int finalI = i;
   finalEt.addTextChangedListener(new TextWatcher() {
       public void afterTextChanged(Editable s) {
           Log.d("text is",""+finalEt.getText().toString());
       }

       public void beforeTextChanged(CharSequence s, int start,int count, int after) {}

       public void onTextChanged(CharSequence s, int start,int before, int count) {}
   }
4

2 に答える 2

0

あなたはこのようなものonTextChangedと同様にそれを手に入れafterTextChangedます。

for (int i = 0; i < 4; i++) {
et = new EditText(this);
et.setText("hai");

final EditText finalEt = et;

ans.addView(et);
final int finalI = i;
finalEt.addTextChangedListener(new TextWatcher() {
   public void afterTextChanged(Editable s) {
                   String str = s.toString();
           Log.d("text is",""+s);

   }

   public void beforeTextChanged(CharSequence s, int start,int count, int after) {}

   public void onTextChanged(CharSequence s, int start,int before, int count) {
           Log.d("text is",""+s.toString());
   }
}
于 2016-02-19T12:36:24.787 に答える
0

ログをこれに置き換えます

Log.d("text is","" + new String(s.toString()));
于 2016-02-19T12:38:46.233 に答える