标签: android-alertdialog

如何获取单一选择警报对话框的选定项目?

我有这个代码来显示带有单选(无线电)选项的对话框.

AlertDialog ad = new AlertDialog.Builder(this)
.setCancelable(false)
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(R.string.choose_one)
.setSingleChoiceItems(seq, pos,null)
.setPositiveButton( R.string.ok, new DialogInterface.OnClickListener() { 
  public void onClick( DialogInterface dialog, int whichButton) 
  { 
    // dialog dismissed
  } 
 }).create();
Run Code Online (Sandbox Code Playgroud)

我如何获得所选的选择?

android android-alertdialog

40
推荐指数
2
解决办法
4万
查看次数

如何使用单选复选框android在AlertDialog中选择一个条目?

我有一个警告对话框,其中包含一个选项列表和两个按钮:一个OK按钮和一个cancel按钮.下面的代码显示了我是如何实现它的.

private final Dialog createListFile(final String[] fileList) {
  AlertDialog.Builder builder = new AlertDialog.Builder(this);
  builder.setTitle("Compare with:");

  builder.setSingleChoiceItems(fileList, -1, new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {
      Log.d(TAG,"The wrong button was tapped: " + fileList[whichButton]);
    }
  });

  builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {}
  });

  builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int whichButton) {}
  });

  return builder.create();
}
Run Code Online (Sandbox Code Playgroud)

我的目标是在点击按钮时获取所选单选按钮的名称OK.我试图将字符串保存在变量中,但在内部类中,可以只访问最终变量.有没有办法避免使用最终变量来存储选定的单选按钮?

android android-alertdialog

40
推荐指数
4
解决办法
8万
查看次数

如何将复选框添加到警报对话框

目前,当用户打开我的应用程序时,会AlertDialog打开询问他们是否要升级到专业版.我需要添加一个CheckBox,AlertDialog这将使应用程序不再显示AlertDialog用户打开应用程序时.

这就是我AlertDialog现在所拥有的:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(" MY_TEXT");
    builder.setMessage(" MY_TEXT ")
           .setCancelable(false)
           .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   Uri uri = Uri.parse("market://details?id=MY_APP_PACKAGE");
                   Intent intent = new Intent (Intent.ACTION_VIEW, uri);
                   startActivity(intent);                          }
           })
           .setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
               }
           }).show();
Run Code Online (Sandbox Code Playgroud)

如果有人能告诉我如何将添加CheckBoxAlertDialog,这将使应用不再显示AlertDialog当用户打开应用程序,这将是巨大的.提前致谢!

checkbox android android-alertdialog

40
推荐指数
3
解决办法
4万
查看次数

AlertDialog样式 - 如何更改标题,消息等的样式(颜色)

我已经突破了这个问题.我需要做的是,AlertDialog在我的Android应用程序中更改所有s 的样式- 对话框背景需要是white-ish,文本需要是black-ish.我尝试创建了很多样式,主题,并从代码,清单等应用,但没有成功,关于内部的文本颜色AlertDialog.现在,我有最简单的代码,设置如下:

表现:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
Run Code Online (Sandbox Code Playgroud)

styles.xml:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:alertDialogStyle">@style/DialogStyle</item>
</style>

<style name="DialogStyle" parent="@android:style/Theme.Dialog">
    <!-- changing these background stuff works fine -->
    <item name="android:bottomBright">@android:color/white</item>
    <item name="android:bottomDark">@android:color/white</item>
    <item name="android:bottomMedium">@drawable/dialog_footer_bg</item>
    <item name="android:centerBright">@android:color/white</item>
    <item name="android:centerDark">@drawable/dialog_body_bg</item>
    <item name="android:centerMedium">@android:color/white</item>
    <item name="android:fullBright">@color/orange</item>
    <item name="android:fullDark">@color/orange</item>
    <item name="android:topBright">@color/green</item>
    <item name="android:topDark">@drawable/dialog_header_bg</item>
Run Code Online (Sandbox Code Playgroud)

下面列出的项目不起作用(请阅读我在每个元素上面的评论):

    <!-- panelBackground is not getting set to null, there is something squarish around it -->
    <item name="android:panelBackground">@null</item>

    <!-- Setting this textColor doesn't seem to have any effect at …
Run Code Online (Sandbox Code Playgroud)

android android-theme android-alertdialog android-styles

40
推荐指数
5
解决办法
10万
查看次数

AlertDialog的项目未显示

我创建了AlertDialog一个AlertDialog.Builder并设置了一些项目setItems().显示对话框但我看不到任何项目.我所看到的只是信息.

final CharSequence[] items = {"Red", "Green", "Blue"};

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(activity);
dialogBuilder.setMessage("Pick a color");
dialogBuilder.setItems(items, new DialogInterface.OnClickListener() {        
    public void onClick(DialogInterface dialog, int which) {
        // Do anything you want here
    }    
});

dialogBuilder.create().show();
Run Code Online (Sandbox Code Playgroud)

如果我设置了PositiveButton,我可以看到那个按钮就好了.我也试过设置MultiChoiceItems,SingleChoiceItems但这些都不起作用.

android android-alertdialog

39
推荐指数
1
解决办法
2万
查看次数

最简单的是/否对话框片段

我想问一下dialog fragment"你确定吗?" 带有"是/否"回复.

我查看了文档并且它非常详细,遍布整个地方,解释了如何制作高级对话框,但没有完整的代码来制作一个简单的"hello world"类型的对话框.大多数教程都使用不推荐使用的对话框系统.在官方博客似乎是不必要的复杂和难以理解.

那么,创建和显示真正基本的警报对话框的最简单方法是什么?如果它使用支持库,则奖励积分.

android dialog android-fragments android-alertdialog

39
推荐指数
3
解决办法
4万
查看次数

在自定义对话框上删除黑色背景

我想删除自定义对话框上的黑色背景,如图所示.我确定黑色背景来自对话框,而不是应用程序的背景.

自定义对话框周围有黑色背景 ;

AlertDialog代码

public class MyAlertDialog extends AlertDialog { 
    public MyAlertDialog(Context context) 
    {  
        super(context); 
    }  

    public MyAlertDialog(Context context, int theme) 
    { super(context, theme); }
}
Run Code Online (Sandbox Code Playgroud)

活动代码

public void showMyDialogOK(Context context, String s, DialogInterface.OnClickListener OkListener) {        
    MyAlertDialog myDialog = new MyAlertDialog(context, R.style.MyDialog2);        
    myDialog.setTitle(null); 
    myDialog.setMessage(s);        
    myDialog.setButton(DialogInterface.BUTTON_POSITIVE ,"Ok", OkListener);
    myDialog.show();    
}
Run Code Online (Sandbox Code Playgroud)

样式

<?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MyTheme" parent="@android:style/Theme.NoTitleBar.Fullscreen">
            <item name="android:alertDialogStyle">@style/AlertDialog</item>  
        </style>    

        <style name="MyTheme2" parent="@android:style/Theme.Black">
            <item name="android:alertDialogStyle">@style/AlertDialog</item>    
        </style> 

        <style name="AlertDialog">        
            <item name="android:fullDark">@null</item>
            <item name="android:fullBright">@null</item>
            <item name="android:topDark">@drawable/popup_top_dark</item>
            <item name="android:topBright">@null</item>
            <item name="android:centerBright">@null</item>
            <item name="android:centerDark">@drawable/popup_center_dark</item>
            <item …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog android-dialog android-styles

38
推荐指数
6
解决办法
4万
查看次数

使用EditText的AlertDialog,自动打开软键盘并专注于EditText不起作用

我正在尝试获得一段代码工作,它应该在显示时立即将EditText集中在AlertDialog中,然后自动打开软键盘.相反,它只会使屏幕变暗.

Builder builder = new Builder(this);
final EditText input = new EditText(this);
AlertDialog dialog = builder.create();
builder
    .setTitle(R.string.dialog_title_addsubject)
    .setMessage(R.string.dialog_addsubject)
    .setView(input)
    .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            String value = input.getText().toString();
            if (input.getText().toString().trim().length() == 0) {
                Toast.makeText(Main.this, R.string.input_empty, Toast.LENGTH_SHORT).show();
            } else {
                db.insertSubject(value);
                getData();
            }
         }
    })
    .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });
    input.requestFocus();
    dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
    dialog.show();
Run Code Online (Sandbox Code Playgroud)

我尝试过很多方法,但没有办法.我希望你们能在这里帮助我.提前致谢!

android focus android-softkeyboard android-edittext android-alertdialog

37
推荐指数
2
解决办法
3万
查看次数

将字体大小更改为AlertDialog

我试图将一些loooong文本放入AlertDialog.唯一的问题是默认字体大小真的太大了,所以我想让它变小.

以下是我尝试的所有解决方法及其问题.

解决方法1)使用TextView和myView.setTextSize(12);

final TextView myView = new TextView(getApplicationContext());
myView.setText(myLongText);
myView.setTextSize(12);
final AlertDialog d = new AlertDialog.Builder(context)
    .setPositiveButton(android.R.string.ok, null)
.setTitle(myTitle)
.setView(myView)
.create();
Run Code Online (Sandbox Code Playgroud)

问题:布局不滚动

解决方法2)使TextView可滚动.

message.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)

问题:布局是滚动,bute没有"惯性"(不知道如何调用它......但我想你明白了.)

解决方法3)使用Scrollview.

这就是我要尝试的,但我无法相信没有更简单的解决方案......

android font-size textview android-alertdialog

36
推荐指数
4
解决办法
5万
查看次数

在Android AlertDialog中为EditText添加更大的余量

我在AlertDialog中有一个EditText.看起来像这样.

在此输入图像描述

看看它说tddjdjck的位置以及它是如何缩进的.这就是我想要的(我使用setPadding左右设置为50),但我也希望它下面的蓝线也缩进.我怎么做?

我使用的代码如下:

            final AlertDialog.Builder alert = new AlertDialog.Builder(thisActivity);
            final EditText input = new EditText(thisActivity);
            input.setSingleLine();
            input.setPadding(50, 0, 50, 0);

            alert.setTitle("by...");
            alert.setMessage("enter the name of the person who did:");
            alert.setView(input);
            alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    String value = input.getText().toString().trim();

                }
            });

            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    dialog.cancel();
                }
            });
            alert.show();  
Run Code Online (Sandbox Code Playgroud)

谢谢

android margin padding android-edittext android-alertdialog

36
推荐指数
3
解决办法
2万
查看次数