显示一个AlertDialog按钮被点击时 [英] Show an AlertDialog when button is clicked

查看:324
本文介绍了显示一个AlertDialog按钮被点击时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想查看与单选按钮对话框,但是当我点击了按钮警告对话框永远不会出现。下面是code。请让我知道,如果有任何替代解决这个。该样品取自API演示。

 公共类扩展的MainPage {活动
按钮启动;
私有静态最终诠释DIALOG_SINGLE_CHOICE = 1;
@覆盖
保护无效的onCreate(捆绑savedInstanceState){    super.onCreate(savedInstanceState);
    的setContentView(R.layout.mainpage);
    启动=(按钮)findViewById(R.id.start);
    start.setBackgroundResource(R.drawable.read);
    start.setOnClickListener(新View.OnClickListener(){
        @燮pressWarnings(德precation)
        公共无效的onClick(视图v){            的ShowDialog(DIALOG_SINGLE_CHOICE);        }
    });}@覆盖
@德precated
保护对话框onCreateDialog(INT ID){
    ID = DIALOG_SINGLE_CHOICE;
    AlertDialog.Builder建设者=新AlertDialog.Builder(本);
    builder.setTitle(选择您的选择);
    builder.setSingleChoiceItems(R.array.Baani,0,新OnClickListener(){        公共无效的onClick(DialogInterface对话,诠释它){
            // TODO自动生成方法存根        }
    })
    .setPositiveButton(OK,新DialogInterface.OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释whichButton){                    / *用户点击的是这样做一些东西* /
                }
            })
            .setNegativeButton(取消,新DialogInterface.OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释whichButton){                    / *用户单击否这样做一些东西* /
                }
            })
           。创建();
    返回super.onCreateDialog(ID);
        }
  }
}


解决方案

创建此功能,并使用showAskDialog()函数在点击事件

 私人无效showAskDialog(){
    AlertDialog.Builder建设者=新AlertDialog.Builder(本);
            builder.setTitle(\"DialogTitle\").setMessage(\"DialogMessage\").setCancelable(true).setSingleChoiceItems(R.array.Baani, 0,新OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释它){
                  // TODO自动生成方法存根                }
                })。setNegativeButton(否,新DialogInterface.OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释的id){                    dialog.cancel();
                }
            })。setPositiveButton(是,新DialogInterface.OnClickListener(){
                公共无效的onClick(DialogInterface对话,诠释的id){                    dialog.cancel();
                }
            });
    //前@TronicZomB意见
    // AlertDialog警报= builder.create();
    //alert.show();
    //后@TronicZomB意见
    builder.show();
}

I am trying to view a dialog box with radio buttons but when I clicked on the button alert dialog box never appears. Below is the code. Please let me know if there is any alternate solution to this. This sample was taken from API Demos.

public class MainPage extends Activity{
Button start;
private static final int DIALOG_SINGLE_CHOICE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.mainpage);
    start = (Button) findViewById(R.id.start);
    start.setBackgroundResource(R.drawable.read);
    start.setOnClickListener(new View.OnClickListener() {
        @SuppressWarnings("deprecation")
        public void onClick(View v) {

            showDialog(DIALOG_SINGLE_CHOICE );

        }
    });

}

@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
    id = DIALOG_SINGLE_CHOICE;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Choose your option");
    builder.setSingleChoiceItems(R.array.Baani, 0, new OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

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

                    /* User clicked Yes so do some stuff */
                }
            })
            .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                    /* User clicked No so do some stuff */
                }
            })
           .create();
    return super.onCreateDialog(id);
        }   
  }
}

解决方案

Create this function and use showAskDialog() function in your click event

private void showAskDialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("DialogTitle").setMessage("DialogMessage").setCancelable(true).setSingleChoiceItems(R.array.Baani, 0, new OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                  // TODO Auto-generated method stub

                }
                }).setNegativeButton("No", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                    dialog.cancel();
                }
            }).setPositiveButton("YES", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                    dialog.cancel();
                }
            });
    // before @TronicZomB advice
    //AlertDialog alert = builder.create();
    //alert.show();
    // after @TronicZomB advice
    builder.show();
}

这篇关于显示一个AlertDialog按钮被点击时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆