zoukankan      html  css  js  c++  java
  • Android之复选框对话框

    main.xml布局文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation
    ="vertical" android:layout_width="fill_parent"
    android:layout_height
    ="fill_parent">
    <EditText android:text=""
    android:id
    ="@+id/editText"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content"
    android:editable
    ="false"
    android:cursorVisible
    ="false" />
    <Button android:text="显示复选框对话框"
    android:id
    ="@+id/button"
    android:layout_width
    ="fill_parent"
    android:layout_height
    ="wrap_content" />
    </LinearLayout>

    array.xml数组

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <string-array name="hobby">
    <item>游泳</item>
    <item>打篮球</item>
    <item>登山</item>
    </string-array>
    </resources>

    AlertActivity类

    package com.ljq.dialog;

    import android.app.Activity;
    import android.app.Dialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class AlertDialog extends Activity {
    private EditText editText;
    private final static int DIALOG=1;
    boolean[] flags=new boolean[]{false,false,false};//初始复选情况
    String[] items=null;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    items
    =getResources().getStringArray(R.array.hobby);
    editText
    =(EditText)findViewById(R.id.editText);
    Button button
    = (Button) findViewById(R.id.button);
    button.setOnClickListener(
    new View.OnClickListener() {
    public void onClick(View v) {
    // 显示对话框
    showDialog(DIALOG);
    }
    });
    }

    /**
    * 创建复选框对话框
    */
    @Override
    protected Dialog onCreateDialog(int id) {
    Dialog dialog
    =null;
    switch (id) {
    case DIALOG:
    Builder builder
    =new android.app.AlertDialog.Builder(this);
    //设置对话框的图标
    builder.setIcon(R.drawable.header);
    //设置对话框的标题
    builder.setTitle("复选框对话框");
    builder.setMultiChoiceItems(R.array.hobby, flags,
    new DialogInterface.OnMultiChoiceClickListener(){
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    flags[which]
    =isChecked;
    String result
    = "您选择了:";
    for (int i = 0; i < flags.length; i++) {
    if(flags[i]){
    result
    =result+items[i]+"";
    }
    }
    editText.setText(result.substring(
    0, result.length()-1));
    }
    });

    //添加一个确定按钮
    builder.setPositiveButton(" 确 定 ", new DialogInterface.OnClickListener(){
    public void onClick(DialogInterface dialog, int which) {

    }
    });
    //创建一个复选框对话框
    dialog=builder.create();
    break;
    }
    return dialog;
    }

    }

    运行结果

  • 相关阅读:
    339. Nested List Weight Sum
    41. First Missing Positive
    366. Find Leaves of Binary Tree
    287. Find the Duplicate Number
    130. Surrounded Regions
    ubuntu18.04安装mongodb4.4
    阿里dataX配置使用
    MySQL主从同步简单介绍&配置
    阿里yugong配置使用
    ubuntu编译安装mysql
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1980184.html
Copyright © 2011-2022 走看看