2017-08-15 18 views
-1

私は私は以下の貼り付けているのEditTextがあります。カントのAndroidのEditTextから文字列値を取得

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:inputType="text" 
    android:ems="10" 
    android:layout_centerInParent="true" 
    android:layout_marginTop="30dp" 
    android:id="@+id/id_verification_code" 
    android:padding="10dp" 
    android:drawablePadding="20dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:background="@color/white" 
    android:backgroundTint="?android:attr/colorBackground" 
    android:textColor="@android:color/black" 
    android:textSize="40sp" 
    android:hint="Enter Verification code" 
    android:drawableLeft="@drawable/icon_lock_24" /> 

を残念ながら私は、ボタンをクリックするとエディットテキストから文字列値を取得するように見えることはできません。

これは、edittextを設定し、ユーザーが何らかの値を入力したときに文字列値を取得しようとするコードです。

ボタンをクリックすると、ログが表示されますが、残念ながら何も表示されません。

Button btnVerification = (Button) findViewById(R.id.btnVerify); 
    btnVerification.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 

      Log.i("validToken", token); 

     } 
    }); 

答えて

1

ようEDITTEXTにTextWatcherを追加入力しているとき、あなたはをクリックするだけであり、あなたがそれを必要とする唯一の値を取得しようとする必要があり、この

Button btnVerification = (Button) findViewById(R.id.btnVerify); 
btnVerification.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 

     Log.i("validToken", edtVerify.getText().toString();); 
    } 
}); 

を使用しますあなたは、現時点では何をしているかのボタンので

Button btnVerification = (Button) findViewById(R.id.btnVerify); 
btnVerification.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String token = edtVerify.getText().toString(); 

      Log.i("validToken", token); 

     } 
}); 

あなたはおそらくでのonCreateでのEditTextを初期化しているとすぐに値を取得している時、あなたのユーザーが希望ビューが作成されたばかりのときに値を入力していません。

クリックした時点で取得すると、テキストに入力した値がクリック後に確実に取得されます。

+0

ありがとうございます。それは簡単だったと私はあまりにも多くを考えて得た –

+0

人を助けるために幸せ:) –

0

ボタンを押すと、edittextからテキストを取得する必要があります。 は、テキストを記録したい場合、ユーザはこの

edittext.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 


     } 
    }); 
関連する問題