2012-02-18 74 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();