2011-03-14 47 views
1

我很努力地學習如何在android中使用XML佈局。我懷疑我的問題以前曾被問過,但我找不到答案。 我正在查看android SDK附帶的APIDemos教程。裏面有一個名爲AlertDialogSamples的類。我正在使用自定義的DIAGLOG_TEXT_ENTRY情況。我瞭解如何將視圖添加到對話框以及如何更改標籤和文本框。 我無法理解如何從框中獲取用戶輸入文本,並對它做一些處理。在線路:來自XML的Android文本輸入

.setPositiveButton(R.string.alert_dialog_ok, 
    new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int whichButton) { 
     /* User clicked OK so do some stuff */ 
    } 

如何獲得用戶名和密碼字段的用戶輸入值和使用它們的用戶說單擊確定在哪裏?它們應該是EditText對象,但我不熟悉如何訪問這些字段,因爲它們是使用XML形成的,而不是用JAVA寫入它們。我如何訪問XML生成的對象?

謝謝

回答

1

您需要設置在EditText領域中的ID佈局的xml:

EditText username = (EditText) findViewById(R.id.username); 
EditText password = (EditText) findViewById(R.id.password); 
:在您的活動內的任何時間

<EditText android:id="@+id/username" 
    ... /> 
<EditText android:id="@+id/password" 
    ... /> 

然後你可以通過引用它們

您可以使用username.getText()獲取文本,該文本返回CharSequence,可以像String一樣使用。

+0

感謝您的快速響應!我只是試過這個,但是當我嘗試這個時,我得到一個空指針異常。 getText()行發生異常。 getText返回一個Editable對象。我的代碼如下: .setPositiveButton(R.string.alert_dialog_ok,new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int whichButton)EditText text =(EditText)findViewById(R.id.password_edit) ; System.out.println(text.getText()。toString()); /*用戶單擊確定,所以做一些東西*/ } – MattO 2011-03-14 03:18:41

+0

您的視圖沒有被發現。正確的佈局? – 2011-03-14 04:10:20

0

嘗試這個..

字符串字符串= editText.getText()的toString();

如果(string.equals( 「」)!){

Toast.makeText(getApplicationContext(),字符串,Toast.LENGTH_SHORT).show(); System.out.println(string);

}