本文介绍了如何实现一个AlertDialog.Builder选定的项目单击事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实施 AlertDialog.Builder 选定的项目单击事件。下面是我试过至今。我是很新的Andr​​oid和我不知道如何访问活动。如何实现单击事件列表中的每个单独的项目?

 进口android.app.Activity;
进口android.app.AlertDialog;
进口android.content.DialogInterface;

公共类MakeCallAlertDialog {

    公共静态AlertDialog.Builder getAlertDialog(字符串strArray [],
            字符串strTitle,活动活动){
        AlertDialog.Builder alertDialogBu​​ilder =新AlertDialog.Builder(活动);
        alertDialogBu​​ilder.setTitle(strTitle);
        alertDialogBu​​ilder.setItems(strArray,新DialogInterface.OnClickListener(){

            @覆盖
            公共无效的onClick(DialogInterface dialogInterface,INT ARG){
                // TODO自动生成方法存根
            }
        });

        返回alertDialogBu​​ilder;
    }
}
 

解决方案

既然你分配一个 OnClickListener 特定于该法, INT 参数是position在列表:

这意味着你的方法里面,你应该能够做到这一点:

 公共静态AlertDialog.Builder getAlertDialog(最后弦乐strArray [],
        字符串strTitle,最后活动活动){

    AlertDialog.Builder alertDialogBu​​ilder =
            新AlertDialog.Builder(活动);
    alertDialogBu​​ilder.setTitle(strTitle);

    alertDialogBu​​ilder.setItems(strArray,
            新DialogInterface.OnClickListener(){

        @覆盖
        公共无效的onClick(DialogInterface对话,诠释它){
           Toast.makeText(活性,strArray [其中],Toast.LENGTH_SHORT).show();

           //你的实现休息
        }
    });
   返回alertDialogBu​​ilder;
}
 

I want to implement AlertDialog.Builder selected items click event. Below is what I have tried so far. I'm quite new to Android and I'm not sure how to access that event. How to implement the click event for each individual item in the list?

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;

public class MakeCallAlertDialog {

    public static AlertDialog.Builder getAlertDialog(String strArray[],
            String strTitle, Activity activity) {
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity);
        alertDialogBuilder.setTitle(strTitle);
        alertDialogBuilder.setItems(strArray, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialogInterface, int arg) {
                // TODO Auto-generated method stub
            }
        });

        return alertDialogBuilder;
    }
}
解决方案

Since you assigned an OnClickListener specific to that method, the int parameter is the position in the list:

This means inside your method, you should be able to do this:

public static AlertDialog.Builder getAlertDialog(final String strArray[],
        String strTitle, final Activity activity) {

    AlertDialog.Builder alertDialogBuilder =  
            new AlertDialog.Builder(activity);
    alertDialogBuilder.setTitle(strTitle);

    alertDialogBuilder.setItems(strArray,
            new DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
           Toast.makeText(activity, strArray [which], Toast.LENGTH_SHORT).show();

           //rest of your implementation
        }
    });
   return alertDialogBuilder;
}

这篇关于如何实现一个AlertDialog.Builder选定的项目单击事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 15:51