编辑文本getText()。toString()返回空白

时间:2016-08-25 06:06:37

标签: android

我正在做一个简单的登录应用程序,我需要将用户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!!!!!!!!!!!!!!!

请帮助!!!

6 个答案:

答案 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();

            }
        });