2011-08-23 60 views
1

有什麼辦法讓對話框像EditTextPreference以外PreferenceActivity? 假設我想讓這個對話框出現在我的主要活動的按鈕上。對話框的樣式像EditTextPreference

我試圖建立一個對話框與自定義佈局,但我不知道如何使它完全一樣的EditTextPreference

Screenshot of the window I'm talking about

回答

2

當然,基本上所有你需要的是一個AlertDialogEditText作爲一個子視圖。
簡單的例子:

AlertDialog.Builder adb = new AlertDialog.Builder(this); 
final EditText input = new EditText(this); 
adb.setTitle("My title"); 
adb.setView(input); 
adb.setPositiveButton("Ok", new OnClickListener() { 

      public void onClick(DialogInterface dialog, int which) { 
       String inputText = input.getText().toString(); 
       // Do something with the input here    
      } 

     }); 
adb.setNegativeButton("Cancel", null); 
adb.show(); 

所有你做的,是在代碼中創建一個實例EditText並將其設置爲通過setView()的對話內容。只需做出最終決定即可在此示例中從匿名OnClickListener訪問它。當然,你可以重構一下,但我認爲它已經非常方便了。

this此處引用Context。由於您從Activity(擴展爲Context)調用對話框,因此您應該沒問題。

+0

謝謝!有用。 _你在第一行忘了分號._ – Roman

+0

哦對。很高興我能幫上忙。 :) – 2011-08-24 01:01:40

相關問題