Android 当我有一个字符串时,为什么toast输出中会出现空白文本?

Android 当我有一个字符串时,为什么toast输出中会出现空白文本?,android,string,android-edittext,toast,Android,String,Android Edittext,Toast,据我所知,这将存储用户并传入我创建的变量。然后获取文本并将其转换为字符串。现在如果发生这种情况,为什么我调用它时只会出现一个空白气泡 package com.set.ultimax.login; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widge

据我所知,这将存储用户并传入我创建的变量。然后获取文本并将其转换为字符串。现在如果发生这种情况,为什么我调用它时只会出现一个空白气泡

package com.set.ultimax.login;
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 Main extends AppCompatActivity {

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

    Button logIn;
    EditText user;
    EditText pass;

    logIn = (Button) findViewById(R.id.btn);
    user = (EditText) findViewById(R.id.username);
    pass = (EditText) findViewById(R.id.password);

    final String userValue = user.getText().toString();
    final String passValue = pass.getText().toString();

    logIn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            // Perform action on click
            Toast.makeText(Main.this,userValue, Toast.LENGTH_LONG).show();
            Toast.makeText(Main.this,passValue, Toast.LENGTH_LONG).show();
        }
    });
}
}

您必须在单击按钮时从
EditText
s获取文本,而不是在
onCreate
上获取文本

试试这个:

logIn.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//单击后执行操作
最终字符串userValue=user.getText().toString();
最终字符串passValue=pass.getText().toString();
Toast.makeText(Main.this,userValue,Toast.LENGTH_LONG).show();
Toast.makeText(Main.this,passValue,Toast.LENGTH_LONG).show();
}
});

不要在onCreate中获取值,在侦听器中执行,并且不要连续显示两个祝酒词,因为它们将重叠。大概是这样的:

logIn.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Perform action on click
        EditText user = (EditText) findViewById(R.id.username);
        EditText pass = (EditText) findViewById(R.id.password);

        String userValue = user.getText().toString();
        String passValue = pass.getText().toString();

        Toast.makeText(Main.this,"User: " + userValue + " Pass: " + passValue, Toast.LENGTH_LONG).show();
    }
});

请接受答复