2015-11-23 199 views
1

此刻,我正在编写提交按钮以从EditText获取文本。我已经实施了检测空文本的必要条件。然而,当我运行模拟器时,我插入了一串随机字符并点击提交,我得到了Toast消息 - 请在框中填写一些东西?获取文本无法正常工作

请参阅代码和截图

Diary_Entry:

package com.example.ali.googleandroid; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Diary_Entry extends AppCompatActivity { 

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

     EditText entryBox = (EditText) findViewById(R.id.diaryentry_box); 
     Button submitEntry = (Button) findViewById(R.id.submit); 

     final String writtenText = entryBox.getText().toString().trim(); 

     submitEntry.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       // check for empty text if submit button is pressed 
       if (writtenText.isEmpty() || writtenText.length() == 0 || writtenText.equals("") || writtenText == null) { 

        Toast.makeText(getApplicationContext(), "Please write something in the box!", 
          Toast.LENGTH_LONG).show(); 
       } else { 
        // pass the text to display entry box and close activity 
        Intent i = new Intent(Diary_Entry.this, Entry_Dislplay.class); 
        i.putExtra("Submitted Entry", writtenText); 
        startActivity(i); 
        finish(); 
       } 
      } 
     }); 

    } 


    public void GoBack(View v) { 
     // close current activity and go back to previous activity 
     onBackPressed(); 
     finish(); 
    } 


} 

回答

6

您需要检索Edittext的文字,当你按下按钮,不是之前

移动此行

final String writtenText = entryBox.getText().toString().trim(); 

的onClick回调中:

public void onClick(View v) { 
    String writtenText = entryBox.getText().toString().trim(); 
    .... 
} 
+0

对不起原谅我的失误 –

+0

不客气:) –