2017-04-06 54 views
0

我得到密码编辑文本值,但我没有得到我想要的。获取密码编辑文本值时的Android错误

我的代码中所获得的价值:

String username = "", password = ""; 
username = ((EditText)findViewById(R.id.username_pet)).toString(); 
password = ((EditText)findViewById(R.id.password_pet)).toString(); 

,但是当我把结果吐司我没有得到它的权利。我得到的是this 错误。

任何帮助将不胜感激。谢谢!

回答

0
username = ((EditText)findViewById(R.id.username_pet)).getText().toString(); 
password = ((EditText)findViewById(R.id.password_pet)).getText().toString(); 
+0

谢谢你解决我的问题。 –

+0

很高兴帮助。标记为已解决。 –

1

你的代码会返回你的EditText的ID,但你想要的是文本。 试试这个

通过替换此:

username = ((EditText)findViewById(R.id.username_pet)).toString(); 
password = ((EditText)findViewById(R.id.password_pet)).toString(); 

username = ((EditText)findViewById(R.id.username_pet)).getText(); 
password = ((EditText)findViewById(R.id.password_pet)).getText(); 

希望这有助于

+0

并且必须添加.toString()它解决了我的问题。谢谢 –

+0

是的欢迎只是更新it.Please标记为正确的,如果它可以帮助和访问这个进一步的细节。 http://stackoverflow.com/questions/5028466/reading-text-of-an-edittext-in-android –

+0

嘿,我可以屁股1更多我不能发布另一个问题,所以我得到的用户名和密码和这个 public void login(String username,String password){ if(username ==“user123”&& password ==“pass123”){ toastShowMsg(“Logged in”); } else { toastShowMsg(“无效的用户名或密码”); } } 而且,即使我在“if”中得到了正确的条件,它似乎总是在“其他”中结束。我不知道什么是错的。请帮忙谢谢 –

0

发生这种情况,因为你正试图之前转换为字符串得到输入字段的文本。该应用程序完全按照您要求的方式进行:获取EditText视图并将视图转换为字符串,而不是视图中的文本。如果这是有道理的。

尝试

EditText userName = (EditText) findViewById(R.id.username_pet); 
String userNameFromEditText = (String) username.getText().toString(); 

然后举杯userNameFromEditText的价值。

+0

哦,是的,我明白了。非常感谢!解决我的问题。 –