2017-10-27 1 views
-1

すべてが順調です。しかし、gettextを使用して結果を印刷すると、何も印刷されません。助けてください。私はそれがedittextフィールドを検出していないと思う。私は何かが欠けている。以下はのEditTextがのonCreateメソッドでは、保持しているコードfindviewbyidが動作しません。 gettextを使用して結果を出力するとき。それは何も印刷されていません

activity_login.java

public class Activity_Login extends AppCompatActivity { 

    EditText userEmail,userPassword; 
    static String email; 
    String password; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_login); 


     userEmail = (EditText) findViewById(R.id.et_Login_email); 
     userPassword = (EditText) findViewById(R.id.et_Login_password); 
      Button login = (Button) findViewById(R.id.btn_Login_login); 
      Button register = (Button) findViewById(R.id.btn_Login_signUp); 

      email = userEmail.getText().toString(); 
      password = userPassword.getText().toString(); 
      System.out.println("-*-*-*-Activity_login-*-*-*"); 
      System.out.println(email); 
      System.out.println(password); 
      System.out.println("-*-*-*-Activity_login-*-*-*"); 

activity_login.xml

<EditText 
    android:id="@+id/et_Login_email" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="textEmailAddress" 
    android:hint="Email" 
    android:textSize="15sp" 
    tools:layout_constraintRight_creator="1" 
    tools:layout_constraintBottom_creator="1" 
    app:layout_constraintBottom_toTopOf="@+id/et_Login_password" 
    android:layout_marginStart="57dp" 
    android:layout_marginEnd="57dp" 
    app:layout_constraintRight_toRightOf="parent" 
    tools:layout_constraintLeft_creator="1" 
    android:layout_marginBottom="14dp" 
    app:layout_constraintLeft_toLeftOf="parent" /> 

<EditText 
    android:id="@+id/et_Login_password" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:inputType="textPassword" 
    android:textSize="15sp" 
    android:hint="Password" 
    tools:layout_constraintRight_creator="1" 
    tools:layout_constraintBottom_creator="1" 
    app:layout_constraintBottom_toTopOf="@+id/btn_Login_login" 
    app:layout_constraintRight_toRightOf="@+id/et_Login_email" 
    tools:layout_constraintLeft_creator="1" 
    android:layout_marginBottom="7dp" 
    app:layout_constraintLeft_toLeftOf="@+id/et_Login_email" 
    app:layout_constraintHorizontal_bias="0.0" /> 
+0

あなたは私たちに、このコードは、あなたの活動である場合などのいくつかのより多くのコンテキストを与えることができますコーディング幸せ

? – codeMagic

+0

あなたが質問した通りに更新しました – MA3STRO

+0

System.printの代わりにLogメソッドを使用してください。例 Log.e( "email"、email.getText()。toString()) – FnR

答えて

1

あなたがテキストを取得している、です。これは、アクティビティが初期化され、作成される時点です。この時点で、レイアウトでハードコアしない限り、EditTextにテキストが含まれる可能性はありません。代わりに、ロジックを実行するボタン(たとえば、私が想定しているログイン)を作成することができます。

+0

ありがとうございます。それは確かに問題でした。私はgetTextをOnClickメソッドに移しました。それはうまくいったように機能しました。 – MA3STRO

+0

聞いてよかったです。それが助けられたら答えを受け入れることができますか? :) –

0

ここは例です。コード

final EditText edit = (EditText) findViewById(R.id.edit); 
Button button = (Button) findViewById(R.id.button); 
System.out.println(edit.getText().toString().trim()); 

button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     Toast.makeText(MainActivity.this, edit.getText().toString(), Toast.LENGTH_SHORT).show(); 

     System.out.println(edit.getText().toString().trim()); 

    } 
}); 

XML

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.ginsbma.runningapps.MainActivity"> 



    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/edit"/> 

    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/button" 
     android:text="press me" 
     android:layout_below="@id/edit"/> 

</RelativeLayout> 

最初は何をプリントアウトしません。編集テキストに何かを入力してボタンを押すと、あなたが書いたものが印刷され、画面にトーストされます。

関連する問題