還記得早先我們做的記算器的例子嗎?當中的驗證判斷用到了對話框,今天我們來做一個不一樣的對話框,要做的這個小例子是一個可供選擇效果的對話框

即層層迭迭的Alert Dialog;界面方面我們擺放一個Button來做一個按鈕事件,解發這個按鈕事件后,再通過類似列表項目的方式呈現在Alert Dialog 裏面。

功能用途:投票、選擇器、遙控器等類型。。。最后返回程序,取得用戶選擇菜單項目結果。

  效果圖:

程序中用到的數據資源如下:
代码

<resources>
    <string name="hello">K..L.. 好餓呀,要上哪吃飯</string>
    <string name="app_name">有選擇的對話框</string>

<string name="Choose">按我開始</string>
<string name="Tittle">按我開始選擇</string>
<string name="body">你選選擇的是:</string>
<string name="Ok">確定</string> 
<string-array name="Dialog">
    <item>韓國餐廳</item>
    <item>一站式餐廳</item>
    <item>回家湘</item>
    <item>富州酒店</item>
</string-array>
</resources>

功能代碼如下:因為使用了選擇功能的對話框,可能初期看代碼有點複雜,建議利用eclipse的文檔大綱先把代碼層次分好,有利用觀看和理解代碼。

代码

 1 
 2 import android.app.Activity; 
 3 import android.app.AlertDialog;
 4 import android.content.DialogInterface;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.view.View.OnClickListener;
 8 import android.widget.*;
 9 public class ChosseDialog extends Activity {
10     private Button mButton;
11     private TextView mTextView; 
12     private CharSequence Text;
13     /** Called when the activity is first created. */
14     public void onCreate(Bundle savedInstanceState) {
15         super.onCreate(savedInstanceState);
16         setContentView(R.layout.main);
17         mButton=(Button)findViewById(R.id.Button01);
18         mTextView=(TextView)findViewById(R.id.TextView01);
19        mButton.setText(R.string.Choose);
20        mTextView.setText("請選擇");
21           mButton.setOnClickListener(new OnClickListener() {
22             
23             @Override
24             public void onClick(View v) {
25                 // TODO Auto-generated method stub
26                 new AlertDialog.Builder(ChosseDialog.this)
27                 .setTitle(R.string.hello)
28                 .setItems(R.array.Dialog, new DialogInterface.OnClickListener() {
29                     
30                     @Override
31                     public void onClick(DialogInterface dialog, int which) {
32                         // TODO Auto-generated method stub
33                         CharSequence strDialog=getString(R.string.body);
34                         String[] aryShop=getResources().getStringArray(R.array.Dialog); 
35                         Text=strDialog+aryShop[which];
36                         new AlertDialog.Builder(ChosseDialog.this)
37                         .setTitle(R.string.Tittle)
38                         .setMessage(Text)
39                         .setNegativeButton(R.string.Ok, new DialogInterface.OnClickListener() {
40                             
41                             @Override
42                             public void onClick(DialogInterface dialog, int which) {
43                                 // TODO Auto-generated method stub
44                                 mTextView.setText(Text);
45                             }
46                         }).show();
47                     }
48                 })
49                 .setNegativeButton("取消", new DialogInterface.OnClickListener() {
50                             
51                             @Override
52                             public void onClick(DialogInterface dialog, int which) {
53                                 // TODO Auto-generated method stub
54                                 dialog.dismiss();
55                             }
56                         })
57                 .show();
58             }
59         });
60     }

  功能模塊到此一個簡單的選擇功能己經成型。。。

如有不懂之處請QQ:285735942   或   Email:terryyhl@gmail.com

源碼下載:請點擊此處

Android小項目之---吃飯選哪?--》選擇對話框(附源碼)相关推荐

  1. Android小項目之---ListView实现论坛管理效果(附源碼)

    在android系統中,ListView的用法稍微複雜一點,配置Adpater就有幾種方法,如ArrayAdapter,SimpleAdapter等.查了一些網上的相關例子,有很多都是用ListAct ...

  2. Android小項目之---時間線程應用(附源碼)

    进程 在Android 中,进程是应用程序的完整实现,而不是用户通常了解的那样.他们主要用途很简单: • 提高稳定性和安全性,将不信任或者不稳定的代码移动到其他进程. • 可将多个.apk 包运行在同 ...

  3. Android 小項目之--猜名字有獎!RadionButton 和RadionGroup應用(附源碼)

    有想過友Android的小屏幕上把asp.net 的RadionButtonList搬進來用嗎?答案是肯定的,Android 的Tool工具提供了一個RadioGroup控件,可將各大自不同的Radi ...

  4. Android小項目之--ListView與ListAcitivity完善論壇管理效果2(附源碼)

    ListAcitivity 类型布局用来配置应用程序,主要为显示菜单列表.列表明细项目,假如让程序继承 ListActivity ,可以实现以下的方法: getListAdapter() 取得目前列表 ...

  5. Android 小項目之---Iphone拖动图片特效 (附源码)

    曾经被Iphone用手指在屏幕上滑来滑去拖动图片的操作方式吸引吗?在Android里头,这并不是什么难事. 所需要的技术点如下:Android.content.Context .Android.wid ...

  6. [原创]jQuery推箱子小游戏(100关且可扩展可选关),休闲,对战,娱乐,小游戏,下载即用,兼容iPad移动端,代码注释全(附源码)

    Sokoban 介绍 [原创]jQuery推箱子小游戏(100关且可扩展可选关),休闲,对战,娱乐,小游戏,下载即用,兼容iPad移动端,代码注释全(附源码) 游戏说明 经典的推箱子是一个来自日本的古 ...

  7. 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结【文末附源码】

    微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 文章目录 微信小程序/uni-app 蓝牙打印开发教程和常见问题总结[文末附源码] 1️⃣ 写在前面 2️⃣ 蓝牙连接流程 3 ...

  8. ⭐️Python实用小工具之制作酷炫二维码(有界面、附源码)⭐️

    镇楼图 文章目录 写在前面 制作二维码 安装myqr库 myqr.run()参数详解 制作普通二维码 制作黑白背景二维码 制作彩色背景二维码 制作大边长二维码 制作动态二维码 解析二维码 tkinte ...

  9. Android老項目出现javax/xml/bind/JAXBException异常问题解决

    有時候報錯: > Task :app:compileDebugJavaWithJavac FAILED Gradle may disable incremental compilation as ...

最新文章

  1. 新冠疫情下,毕业照怎么拍?10行Python代码搞定
  2. PHP函数--var_dump
  3. mysql如何查看事务日记_MySQL中的几种日志了解
  4. 理解shared_ptrT
  5. 创业公司如何做数据分析(一)开篇
  6. python 语言教程(2)基础语法
  7. 【新功能】开放搜索多路召回技术解读
  8. css ——行级元素与块级元素解析
  9. java接口允许ajax访问_服务允许AJAX请求,允许跨域请求
  10. HDOJ-1014 Uniform Generator
  11. 洛谷P3588 [POI2015]PUS(线段树优化建图)
  12. 错误:java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
  13. 浪潮之巅第三章 — “水果”公司的复兴 (乔布斯和苹果公司)(全)
  14. python处理access数据库教程,Python操作Access数据库步骤
  15. python 模块下载资源汇总
  16. 机器学习项目实战(一) 鸢尾花
  17. 【Mysql进阶-3】大量实例悟透EXPLAIN与慢查询
  18. 操作系统:实验一 进程调度算法
  19. ubuntu 安装方法 wubi
  20. ROS2机器人笔记21-03-14

热门文章

  1. linux操作系统之全局异步IO及可重入/不可重入函数
  2. 【信号】函数kill、raise、abort、alarm
  3. mysql 链式查询_MySQL的链接查询
  4. NDK学习笔记-使用现有so动态库
  5. flume 中的 hdfs sink round 和roll
  6. 腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的...
  7. 288. Unique Word Abbreviation
  8. java 解决时间相减问题
  9. 获取当前目录绝对路径
  10. vml的简易画板_2