Articles of alertdialog

如何控制MultiChoice AlertDialog

我在我的应用程序中使用对话框允许用户进行多个select,这是我的代码: btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Build an AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); // String array for alert dialog multi choice items String[] colors = new String[]{ "Red", "Green", "Blue", "Purple", "Olive" }; // Boolean array for initial selected items final boolean[] checkedColors = new boolean[]{ false, // Red […]

在AlertDialog中为EditText设置边距

我已经在我的Android应用程序中创build了一个带有EditText的AlertDialog,但是默认的边距看起来真的不起作用。 我试图指定页边距如下: android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(SpinActivity.this); builder.setTitle("Edit Spin Tags"); builder.setMessage("(separate tags with commas)"); // set input int margin = 10; final EditText input = new EditText(SpinActivity.this); input.setSingleLine(); input.setText(spinTags.toString().replace("[", "").replace("]", "")); builder.setView(input, margin, 0, margin, 0); 但是,从下面的图片中,您可以看到它没有应用所需的效果。 我试过的其他选项包括将input放置在LinearLayout中,并在将AlertDialog视图设置为LinearLayout之前使用LayoutParams设置边距。 如何在AlertDialog中设置EditText的边距?

自定义alertdialog Android中的OnClickListener

我是一个自学成才的初学者,感激耐心! 谢谢! 在Eclipse中,我用自己的xml文件(“custom_dialog”)制作了一个自定义的alertdialog,它被称为“usernamealert”。 如果用户还没有input用户名(即username.length == 0),我想要popup警报。 在这个布局里面我有一个textView(“你叫什么名字?”),editText和button(“usernameButton”)。 在button的onclicklistener之前,一切工作。 这是我的(有关)Java: LayoutInflater inflater = getLayoutInflater(); View dialoglayout = inflater.inflate(R.layout.custom_dialog, (ViewGroup) getCurrentFocus()); AlertDialog.Builder usernamebuilder = new AlertDialog.Builder(this); usernamebuilder.setView(dialoglayout); AlertDialog usernamealert = usernamebuilder.create(); 当我把onclicklistener,它打破了! 我应该把它放在哪里? (以下是我所尝试过的…全部在我的OnCreate中) LayoutInflater inflater = getLayoutInflater(); View dialoglayout = inflater.inflate(R.layout.custom_dialog, (ViewGroup)getCurrentFocus()); AlertDialog.Builder usernamebuilder = new AlertDialog.Builder(this); usernamebuilder.setView(dialoglayout); Button usernameButton = (Button) usernamealert.findViewById(R.id.usernameButton); usernameButton.setOnClickListener(new OnClickListener() { […]

自定义提醒对话框在Android 4.x上看起来很奇怪

我想在我的Android应用程序中自定义警报对话框,所以我开始通过更改我的应用程序主题的alertDialogTheme属性,如下所示: RES /值/的themes.xml <resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert"/> </resources> 就这样做,我不希望对话看起来与标准不同,因为新的主题AlertDialogTheme是完全相同的父母。 它在Android棒棒糖上正常工作,但在Android Kitkat中,对话框后面出现一个白色矩形。 以下是它的样子: 我做错了什么? 也许使用错误的父母? 谢谢!

如何设置onPrepareDialog中setSingleChoiceItems的内容?

伙计们,在onCreateDialog我有这样的: case DIALOG_REVIEW: { if (bundle.containsKey("POSITION")) { final int position = bundle.getInt("POSITION"); ArrayList<String> alterNumbers = numbers.get(position); final String[] phoneNums = new String[alterNumbers.size()]; for (int i = 0; i < alterNumbers.size(); i++) { phoneNums[i] = alterNumbers.get(i); } AlertDialog.Builder dialog = new AlertDialog.Builder(this); dialog.setTitle(names.get(position) + "'s number(s)"); dialog.setSingleChoiceItems(phoneNums, 0, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, […]

AlertDialog.Buildertypes的getWindow()方法未定义

来自Android的理念:从对话模糊和调暗背景窗口 。 我无法让我的对话框中的内容模糊。 当调用eula.getWindow()我收到此错误: AlertDialog.Buildertypes的getWindow()方法未定义 eula与主要活动的这一段代码一起显示: EulaHelper.showEula(false, this); 任何帮助是极大的赞赏。 public static void showEula(final boolean accepted, final FragmentActivity activity) { AlertDialog.Builder eula = new AlertDialog.Builder(activity) .setTitle(R.string.eula_title) .setIcon(android.R.drawable.ic_dialog_info) .setMessage(activity.getString(R.raw.eula)) .setCancelable(accepted); if (accepted) { // If they've accepted the EULA allow, show an OK to dismiss. eula.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); […]

Appcompat警报对话框动作button背景处于按下状态

我正在尝试从appcompat v7 22.1.1新的AlertDialog。 它工作得很好(在所有的Android版本),如图像。 AlertDialog的样式是这样的。 (现在我正在使用硬编码的颜色值而不是颜色资源) <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimaryDark">#111111</item> <item name="colorPrimary">#00ddff</item> <item name="colorAccent">#0044aa</item> <item name="colorButtonNormal">#00aaaa</item> <item name="colorControlHighlight">#00ddff</item> <item name="alertDialogTheme">@style/AlertDialogTheme</item> </style> <style name="AlertDialogTheme" parent="Theme.AppCompat.Dialog.Alert"> <item name="colorAccent">#0044aa</item> <item name="android:background">#ffffff</item> <item name="android:textColorPrimary">#000000</item> <item name="android:windowTitleStyle">@style/MyTitleTextStyle</item> </style> <style name="MyTitleTextStyle"> <item name="android:textColor">#0044aa</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Title</item> </style> 我的问题是, 1) 如何改变图像中圆形(灰色)的statePressed颜色? 2)没有按下的颜色是在android> = 21,这是什么黑客? 3)我怎样才能有不同颜色的动作button(可能)? 任何帮助将是伟大的。

指定的孩子已经有一个父母

我使用构build器创build了AlertDialog 。 它显示我们何时调用show()方法。 我有对话框中的取消button。 我可以通过点击取消button取消该对话框。 我的问题是我取消了显示对话框,我不能再次显示对话框。 它抛出一个exception,如: 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addViewInner(ViewGroup.java:1970) 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addView(ViewGroup.java:1865) 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at android.view.ViewGroup.addView(ViewGroup.java:1845) 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at com.android.internal.app.AlertController.setupView(AlertController.java:364) 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): at com.android.internal.app.AlertController.installContent(AlertController.java:205) 09-09 12:25:06.441: ERROR/AndroidRuntime(2244): […]

无法在ActionBarActivity中创buildalertDialog

我有一个扩展ActionBarActivity的Activity 。 每当我尝试在其中创build一个AlertDialog时,在创build对话框的那一行出现这个错误 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 但是我已经使用Appcompat主题Theme.AppCompat.Light.NoActionBar因为我正在使用工具栏。 这可能是什么原因? 这是我的活动: import android.app.ProgressDialog; import android.content.DialogInterface; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; public class MyActivity extends ActionBarActivity { Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_comments); toolbar = (Toolbar)findViewById(R.id.tool_bar_comment); setSupportActionBar(toolbar); […]

为什么AlertDialog.Builder.setIcon不显示ic_menu_info图标?

ic_menu_info图标正确显示在调用它的xml菜单项中,但不在此AlertDialog中。 new AlertDialog.Builder(this).setMessage(menuInfo).setNeutralButton("OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface d, int i) { // do nothing – it will close on its own } }) .setIcon(R.drawable.ic_menu_info).show(); …