package com.example.selectonlyonle;





import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;





public class MainActivity extends Activity {





private EditText editText;

private final static int DIALOG = 1;

boolean[] flags = new boolean[] { false, false, false, false };// 初始复选情况

String[] items = null;

private String lv_items[] = { "轮胎(400)", " 无骨雨刷(100)", "刹车片(235)",

"刹车盘(500)" };

private String lv_items_value[] = { "400", "100", "235", "500" };

private String result;

private int motoal;

private String test;





@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_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

public Dialog onCreateDialog(int id) {

Dialog dialog = null;

switch (id) {

case DIALOG:

AlertDialog.Builder builder = new 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;

System.out.println(which+"==which==="+which);

result = "您选择了:";

// for (int i = 0; i < flags.length; i++) {

if (flags[which]) {

result = result + items[which] + "、";

motoal = motoal

+ Integer

.valueOf(lv_items_value[which]);

System.out.println(result + "======"

+ motoal);

// test = test +lv_items_value[i];



}

// }

if (!flags[which]) {

// 假设选中了又不选了

motoal = motoal

- Integer

.valueOf(lv_items_value[which]);

System.out.println("==motoal=0="

+ motoal);

}

// for (int a = 0; a < 4; a++) {

// if (flags[a] == false) {

// motoal = motoal

// - Integer

// .valueOf(lv_items_value[a]);

// System.out.println("==motoal=0="

// + motoal);

// }

// }

// System.out.println("========="+test);

// editText.setText(motoal+"");

editText.setText(motoal + "");

}

});

// builder.setPositiveButton(result,

// new DialogInterface.OnClickListener() {

// public void onClick(DialogInterface dialog, int which) {

// }

// });

// 加入一个确定button

builder.setPositiveButton(" 确 定 ",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

}

});

// 创建一个复选框对话框

dialog = builder.create();

break;

}

return dialog;

}

}

----------------------array.xml---------------------------------

<?xml version="1.0" encoding="utf-8"?

>

<resources>

  <string-array name="hobby">        

     <item>轮胎(400)</item>            

     <item>无骨雨刷(100)</item>            

     <item>刹车片(235)</item>        

     <item>刹车盘(500)</item>        

  </string-array>

</resources>

这是看着网上的代码,仅仅是稍加了自己的理解。以及checkbox中数据的加减

------------------------------activity_main.xml-----------

<?xml version="1.0" encoding="utf-8"?

>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >





    <EditText

        android:id="@+id/editText"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:cursorVisible="false"

        android:editable="false"

        android:text="" />





    <Button

        android:id="@+id/button"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="显示复选框对话框" />





</LinearLayout>

android对话框,checkBox,同一时候在同一个页面上保存数据的更多相关文章

  1. 临时存存储页面上的数据---Web存储

    HTML5 Web存储的两种方法使用 localStorage和sessionStorage 参考: http://www.cnblogs.com/taoweiji/archive/2012/12/0 ...

  2. 22SpringMvc_jsp页面上的数据传递到控制器的说明

    假设有这个一个业务:在jsp页面上写入数据,然后把这个数据传递到后台. 效果如下:

  3. 14Flutter StatefulWidget有状态组件、页面上绑定数据、改变页面数据、实现计数器功能、动态列表

    /** * Flutter StatefulWidget有状态组件.页面上绑定数据.改变页面数据 * 在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/Stat ...

  4. 【Android Developers Training】 26. 在SQL数据库中保存数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. Android 学习笔记之如何使用SQLite数据库来保存数据...

    PS:最近一阵子都在为考试复习...坑爹的计算机网络,复习了3天,最后该不会的还是不会...明天还考英语...真蛋疼... 学习内容: 1.使用SQLite数据库来保存数据... SQLite:   ...

  6. Flutter StatefulWidget 有状态组件、页面上绑定数据、改变页面数据

    在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget 是无状态组件,状态不可变的 widget ...

  7. StatelessWidget 无状态组件 StatefulWidget 有状态组件 页面上绑定数据、改变页面数据

    一.Flutter 中自定义有状态组件 在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget ...

  8. Android通过网页打开App到指定页面并传递数据

    首先在 Android Manifest 文件中注册 intent-filter <activity android:name=".MainActivity" android ...

  9. 多个 label checkbox 组合 显示在同一个水平线上[前提Bootstrap框架]

    <th align="left" valign="middle"> <label class="checkbox inline fo ...

随机推荐

  1. Junit初级篇

    @Test介绍 @Test是我们在写测试脚本时最常用到的,大部分情况下如果没用这个注解,一个方法就不能成为测试用例.如下代码是一个最普通的测试脚本: import org.junit.Assert; ...

  2. 仿LOL项目开发第二天

    仿LOL项目开发第二天 by草帽 接着上节来讲,上节更新还没开始写代码逻辑,今天我们补充完整. 我们找到VersionManager脚本里面的CheckVersion方法: 首先我们想到检测版本,需要 ...

  3. OpenERP|odoo Web开发

    在OpenERP 7 和 Odoo 8下测试均可. 1.相关库/框架 主要:jQuery(使用1.8.3,如果使用新版本,其他jQuery插件也要升级或修改).Underscore.Qweb 其他:都 ...

  4. 巧妙使用 CSS3 的褪色和动画效果制作消息提醒框

    现代Web设计技术允许开发者快速实现大多数浏览器支持的动画.我想警告消息是很常见的,因为默认的JavaScript警告框的样式往往(与你自己设计的漂亮样式)很不协调很囧.这使开发者步入找出哪种解决方案 ...

  5. 【笔记】css 1像素边框

    有时候在移动端显示1像素的边框时 可能因为dpi 的原因造成像素有变差 所以为了达到显示的像素达到预期效果就要编写一个css 通用类达到1像素边框的效果 关于dpi 的解释请看张鑫旭老师的文章:htt ...

  6. Java经典23种设计模式之行为型模式(三)

    本文接着介绍11种行为型模式里的备忘录模式.观察者模式.状态模式. 一.备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态.并在该对象之外保存这个状态.这样以后就能够将该对象恢复到原先保存的状 ...

  7. (剑指Offer)面试题10:二进制中1的个数

    题目: 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路: 很明显,这道题考察的是位运算. 1.依次将整数右移,判断整数最后一位是否为1(&1): 问题:如果该整数为负数 ...

  8. openstack horizon CSS 离线 改动

    Openstack horizon 的CSS主要保存在几个文件夹中,各自是horizon/static/dashboard/scss;horizon/openstack_dashboard/stati ...

  9. 用thinkphp操作session

    写了一段代码,对session进行一些常用的操作: <?php namespace Home\Controller; use Think\Controller; class Demo1Contr ...

  10. STL - 算法 - 普通拷贝

    list<, , , , , , , , }; vector<int> coll2; cout << "** collection 1: **" &l ...