android_checkbox_dialog 设计 是不是要开起 默认不提示对话框

android_checkbox_dialog设计是不是开起默认不提示

package com.example.android_checkbox_dialog;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnMultiChoiceClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class TestDialogActivity extends Activity {
    private Button btn;
    final Context context = this;
    //定义复选框选项
    final String[] multiChoiceItems = {"开启默认不提示"};
    //复选框默认值:false=未选;true=选中 ,各自对应items[i]
    final boolean[] defaultSelectedStatus = {false};

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

        btn = (Button) findViewById(R.id.Button01);

        btn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if(defaultSelectedStatus[0] != true)
                showDialog5();
                else
                    Toast.makeText(context,"已经开启默认设置", Toast.LENGTH_LONG).show();
            }
        });
    }
    public void showDialog5(){  

        final StringBuilder sb = new StringBuilder();
        //创建对话框
        new AlertDialog.Builder(context)
        .setTitle("复选框")//设置对话框标题
        .setMultiChoiceItems(multiChoiceItems, defaultSelectedStatus, new OnMultiChoiceClickListener(){
            @Override
            public void onClick(DialogInterface dialog, int which,
                    boolean isChecked) {
                //来回重复选择取消,得相应去改变item对应的bool值,点击确定时,根据这个bool[],得到选择的内容
                defaultSelectedStatus[which] = isChecked;
            }
        })  //设置对话框[肯定]按钮
        .setPositiveButton("确定",new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                for(int i=0;i<defaultSelectedStatus.length;i++) {
                    if(defaultSelectedStatus[i]) {
                        sb.append(multiChoiceItems[i]);
                    }
                }
                // TODO Auto-generated method stub
                Toast.makeText(context,sb.toString(), Toast.LENGTH_LONG).show();  

            }
        })
        .setNegativeButton("取消", null)//设置对话框[否定]按钮
        .show();
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-03 15:48:34

android_checkbox_dialog 设计 是不是要开起 默认不提示对话框的相关文章

面向对象设计原则之开闭原则

http://blog.csdn.net/lovelion/article/details/7537584 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键.在Java.C#等编程语言中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移至具体的实现层中完成.在很多面向对象编程语言中都提供了接口.抽象类等机制,可以通过它们定义系统的抽象层,再通过具体类来进行扩展.如果需要修改系统的行为,无须对抽象层进行任何改动,只需要增加新的具体类来实现新的业务功能即可,实现在不修改已有

设计原则之开闭原则Open Close Principle

翻译自http://www.oodesign.com 设计原则之开闭原则 动机:一个聪明的应用设计和代码编写应该考虑到开发过程中的频繁修改代码.通常情况下,一个新功能的增加会带来很多的修改.这些修改已存在的代码应该要最小化, 总结:软件应该对扩展开发,对修改关闭.装饰器模式,观察者模式,工厂模式可以帮助我们队代码做最小的修改. Bad Example: 缺点: 1.当新的shape被添加,开发者要花大量时间去理解GraphicEditor源码.. 2.添加新shape也许会影响已经存在的功能 /

口碑点单如何支持开台默认商品

1. 口碑点单支持开台默认商品吗? 口碑支持,口碑掌柜可以设置,接口口碑还没开放,我们还没承接 操作流程:口碑掌柜--全部应用--菜品管理--默认菜--添加默认菜--选择适用范围(门店)--完成 原文地址:https://www.cnblogs.com/yhbc-blibao/p/9896241.html

android 开发点击弹出对话框中的按钮进行页面跳转如何实现

android开发中,点击弹出对话框中的按钮进行页面跳转,如何实现?可以这样做: 可以获取对话框的点击事件,比如点击了确定然后你就跳转 AlertDialog.Builder builder = new Builder(CommentActivity.this); builder.setMessage("确定要跳转吗?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new a

6大设计原则之开闭原则

开闭原则的定义 开闭原则的定义: 一个软件实体,如类.模块和函数应该对扩展开放,对修改关闭.即一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化. 软件实体包括一下部分 项目或软件产品中按照一定的逻辑规则划分的模块 抽象和类 方法 注意: 开闭原则对扩展开放,对修改关闭,并不意味着不做任何修改,底层模块的变更,必然要有高层模块进行耦合,否则就是一个孤立无意义的代码片段 开闭原则的好处 开闭原则是一个最基本的原则,另外五个原则都是开闭原则的具体形态,是指导设计的工具和方法,而开

架构中的设计原则之开闭原则(OCP) - 《java开发技术-在架构中体验设计模式和算法之美》

开闭原则OCP(Open for Extension,Closed for Modification).开闭原则的核心思想是:一个对象对扩张开放,对修改关闭. 其实开闭原则的意思就是:对类的改动是通过增加代码进行的,而不是改动现有的代码.也就是说,软件开发人员一旦写出了可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去,如何才能做到这一点呢?这就需要借助于抽象和多态,即把可能变化的内容抽象出来,从而使抽象的部分是相对稳定,而具体的实现层是可以改变和扩展的. 根据开闭原则,我们改变一个软

Android重构与设计之路,从整理提示对话框弹窗开始

封装一个独立弹窗Module,这里的弹窗包括普通的Dialog方式弹框和WindowManager方式弹窗.提供一种管理项目里面弹窗的方案,便于后期修改和维护. 首先描述一个在大项目中普遍存在的一个现象:由于项目的功能多,负责功能的人不同,当功能中需要一个普通的确定取消对话框时,大部分人都选择自己写了一个,自己new一个独立的弹窗出来.这样做的好处有以下几个: 代码逻辑独立,自己写的代码自己能控制 快速方便,便于修改,便于满足各种奇怪的需求 可是这个做法导致项目中存在大量的代码冗余,大量的分散的

codemirror 小功能的添加(点击删除默认的提示语)

最近要写一个简单的html网页的日志规范,领导建议用一些目前流行的code代码高亮度显示插件(javascript)等. 然后,就开始对各种不通的code代码显示插件的研究. 研究的目标: (1)有一个纯文本显示(highlight ,codemirror 都可以实现): (2)一个输入代码高亮度显示(codemirror 实现). 首先,研究的是highlight,highlight 是javascript+css 控制完成的代码提示,功能很强大.而且使用方便.主要体现在: (1)只需要引入一

Android UI设计: 分享一个仿QQ聊天消息提示可以拖拉气泡

首先上效果图 功能有: 1. 可以随时拖拉 2. 拖拉超过一定距离会监听 3. 拖拉返回的时候,有来回反弹效果 此效果先是参照了网上github两个版本的效果.不过都不是自己想要那么理想. 1.其中有一个是两层,一层是textview控件和一层surfaceview.经测试效果不错,但是效率不高,在刚点击的有闪动现象.会跳帧.于是放弃这种方法.不过它能够全屏拖拉. 2另一个的实现方法很赞,全程一个view就完事,全部自绘,没有用控件.而且贝塞尔曲线就是中间那个瘦瘦的,随着距离越来越瘦的,是两条贝