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();
}
});
请接受答复