2012-02-18 55 views
3

我希望这还没有被问到,因为我找不到它。我正在尝试获取用户的在线服务的用户名和密码。我创建了一个用户名TextView和一个密码TextView。我能够毫无问题地将文本从用户名TextView中取出。但是,我无法从密码TextView中获取任何内容。下面是XML:从Android密码获取文本TextView

<TextView 
    android:id="@+id/user_password" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="8dp" 
    android:text="@string/passcodeQuery" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginTop="8dp" 
    android:hint="@string/passwordHint" 
    android:inputType="textPassword" /> 

的问题是,如果我运行代码

TextView passField = (TextView)findViewById(R.id.user_password); 

然后

String toastMessage = "Password: " + passField.getText().toString(); 

不管我投入了密码字段,面包消息给我

Password: Password 

我明显将不会正常烘烤用户密码,我现在只是在做,因为我想确保我正确地读取输入。不幸的是,这似乎并不是这样,因为我无法读取密码字段。你如何解决这个问题? Ton的应用似乎能够做到这一点。有没有比我在做什么更容易获得密码的方法?

回答

3

如果你想烤面包就像“PassWord:YOUR EDITTEXT VALUE”那么使用这个。

EditText passField = (EditText)findViewById(R.id.editText2); 

,然后使用:

String toastMessage = "Password: " + passField.getText().toString(); 

现在敬酒消息。

享受。 :)

+0

谢谢,工作。我还有一个问题。 TextView loginField =(TextView)findViewById(R.id.user_username); EditText passField =(EditText)findViewById(R.id.editText2); \t String toastMessage = loginField.getText()。toString()+“\ n”+ passField.getText()。toString(); 工作。为什么我可以从TextView获取登录信息,并且只能从EditText获取密码? – 2012-02-18 17:25:46

+0

您是否可以在上面的帖子中更新您的布局XML,以显示用户名的相关部分。 R.id.user_name是否可能是EditText的ID? – JScoobyCed 2012-02-20 02:24:00

+0

@ that1dev:你想要打印什么信息?您应该必须为相应的视图提供具体的ID。 getText是从EditText和TextView获取文本的方法。而这两件事情都不一样。您可以在运行时编辑EditText值,但不可用于TextView。如果你想改变textView的价值,那么你应该不得不去做这件事。谢谢。保持冷静。 – 2012-02-20 04:17:51

0

如何

EditText passField = (EditText)findViewById(R.id.editText2); 

,而不是 “USER_PASSWORD”?

0

您应该从EditTextTextView

EditText passField = (EditText)findViewById(R.id.editText2);  
String toastMessage = "Password: " + passField.getText().toString(); 
0

活计,你正试图从TextView的获取密码,您必须从EditText上

EditText password = (EditText)findViewById(R.id.editText2); 

储存于字符串获取获取文本,而不是as

String pwd = password.getText().toString(); 

并为自己的验证者敬酒离子

0

您可以从EditText中获取值,而不是从TextView中获取值。您可以设置无法获取。

 EditText passField = (EditText)findViewById(R.id.editText2); 

     String toastMessage = "Password: " + passField.getText().toString().trim();