zoukankan      html  css  js  c++  java
  • 带有选项的AlertDialog

    点击Button,具有3个选项的问题,点击不同选项后弹出新的dialog,复述所选项内容

    strings.xml文件中定义了名为items_irdc_dialog为选项内容(item中)

     1 <?xml version="1.0" encoding="utf-8"?>
    2 <resources>
    3
    4 <string name="hello">咱们学校几号放假?</string>
    5 <string name="app_name">selectdialog</string>
    6
    7 <array name="items_irdc_dialog">
    8 <item>12月底</item>
    9 <item>元旦一过</item>
    10 <item>1月13号</item>
    11 </array>
    12
    13 </resources>

    1. 定义Button.OnClickListener对象showdialoglistener,实现onClick方法

    2. 其中,生成AlertDialog.Builder,调用setItems(item_id,listener)方法中几个参数很重要,生成DialogInterface.OnClickListener对象,onClick方法中监听item的点击事件

    3. onClick()方法中,根据which所标明的具体点击了哪一个item项,生成不同arraystr[which]的AlertDialog

    4. 生成这个显示AlertDialog.Builder,setNeutralButton(button_name,listener)方法,大致同2

    5. 第一层的对话框最后还调用了setNegativeButton(button_name,listener),onCLick()方法中调用dismiss()卸载对话框

     1 Button.OnClickListener showdialoglistener = new Button.OnClickListener() {
    2 @Override
    3 public void onClick(View v) {
    4 new AlertDialog.Builder(mainActivity.this)
    5 .setTitle("title")
    6 .setItems(R.array.items_irdc_dialog,
    7 new DialogInterface.OnClickListener() {
    8 @Override
    9 public void onClick(DialogInterface dialog,
    10 int which) {
    11 // TODO Auto-generated method stub
    12 final int id = which;
    13 CharSequence body = getString(R.string.hello);
    14 String[] arraystr = getResources()
    15 .getStringArray(
    16 R.array.items_irdc_dialog);
    17 new AlertDialog.Builder(mainActivity.this)
    18 .setMessage(
    19 body + "\n"
    20 + arraystr[which])
    21 .setNeutralButton(
    22 "ok",
    23 new DialogInterface.OnClickListener() {
    24
    25 @Override
    26 public void onClick(
    27 DialogInterface dialog,
    28 int which) {
    29 // TODO Auto-generated method stub
    30 switch (id) {
    31 case 0:
    32 Toast.makeText(mainActivity.this,"common university",Toast.LENGTH_LONG).show();
    33 break;
    34 case 1:
    35 Toast.makeText(mainActivity.this,"arty university",Toast.LENGTH_LONG).show();
    36 break;
    37 case 2:
    38 Toast.makeText(mainActivity.this,"2B university",Toast.LENGTH_LONG).show();
    39 break;
    40 }
    41
    42 }
    43 }).show();
    44 }
    45 })
    46 .setNegativeButton("cancel",
    47 new DialogInterface.OnClickListener() {
    48 public void onClick(DialogInterface dialog,
    49 int which) {
    50 // TODO Auto-generated method stub
    51 dialog.dismiss();
    52
    53 }
    54 }).show();
    55 }
    56 };



    -------------------------------~问世间情为何物,敲敲代码停不住~ -------------------------------
  • 相关阅读:
    android slidingview
    关于打工
    android开发基本流程
    android and javascript
    android listview and scrollview
    google收购的公司
    android反编译
    android资料
    colors
    【读书笔记】-- 文本可视化研究综述
  • 原文地址:https://www.cnblogs.com/bigmengzi/p/2283593.html
Copyright © 2011-2022 走看看