我正在做一个简单的登录应用程序,我需要将用户ID传递给后续屏幕。但是,我没有将用户名字段输入变量。
public static String user;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText username = (EditText)findViewById(R.id.etUserName);
EditText password = (EditText)findViewById(R.id.etPwd);
Button blogin = (Button)findViewById(R.id.bLogin);
user = username.getText().toString();// Here user variable is blank!!!!!!!!!!!!!!!
请帮助!!!
答案 0 :(得分:3)
该代码应写在blogin onClickListener
Button
内
blogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
user = username.getText().toString();
}
});
答案 1 :(得分:1)
user = username.getText().toString();
将此行放入监听器,如点击按钮
答案 2 :(得分:1)
单击blogin时,您必须获取用户字段:
blogin.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
user = username.getText().toString();
}
});
答案 3 :(得分:1)
在onCreate上添加此代码
public static String user;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText username = (EditText)findViewById(R.id.etUserName);
EditText password = (EditText)findViewById(R.id.etPwd);
Button blogin = (Button)findViewById(R.id.bLogin);
// On the click of the button get username string.
blogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
user = username.getText().toString();
}
});
答案 4 :(得分:1)
您立即获得用户名字段的文本。我猜之前没有在文件中设置文字。当editText没有文本时,它返回""
。您必须为onClickListener
按钮创建blogin
事件,并在用户输入用户名后使用username
textView的getText,然后点击按钮
public static String user;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText username = (EditText)findViewById(R.id.etUserName);
EditText password = (EditText)findViewById(R.id.etPwd);
Button blogin = (Button)findViewById(R.id.bLogin);
blogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(username.getText().toString().equals(""){
Toast.makeText(v.getContext, "enter your username", Toast.LENGTH_SHORT).show();
}
else
user = username.getText().toString();
}
});
}
答案 5 :(得分:1)
您正在onCreate()上评估editText的值;总是会返回空的,所以只需在需要时评估editText。 你想要它按钮clickListner();
blogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
user = username.getText().toString();
}
});