2011-08-23 61 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

相关问题