Android学习笔记(二)_android arrayadapter-程序员宅基地

技术标签: 学习  笔记  android  

Android基本控件高级

ListView  ArrayAdapter和SimpleAdapter

ListView中的setAdapter() 方法  ListView通过适配器来显示内容的,适配器有两种 一种是ArrayAdapter 另一种是SimpleAdapter

ArrayAdapter是解析一个数组,叫这个数组呈现出ListView效果,注意最后用setConnentView方法将这ListView加入到手机界面进行显示,而Activity本身不用set ConnentView加载本来的main.xml 文件

SimpleAdapter是解析一个List中含有map的集合,这个结构相比一个数组复杂的多,SimpleAdapter解析这个复杂的结构会叫我们可以给客户呈现结构更完美的ListView。

四种Adapter

ArrayAdapter 简单的文字列表

simpleAdapter 自己定义一个丰富的列表

SimpleCursorAdapter可以从数据库中读取数据加到列表上

BaseAdapter可以在列表上加处理事件

实例一:使用ArrayAdapter 作为Listview 适配

MainActivity

package com.example.gdlistviewarrayadapter;

public class MainActivity extends Activity {

private  ListView listview;

private  String data[] ={"周杰伦","佟大为","李小双","文章","范冰冰"};

         @Override

         protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   listview=new ListView(this);

                   // 实例化ListView组件

                   listview.setAdapter(

                                     new ArrayAdapter<String>

                                     (this, android.R.layout.simple_list_item_1, this.data));

                   /*

                    * android.R.layout.simple_list_item_1  是调用系统提供的Id

                    * **/

                   this.setContentView(listview);

                   //设置这个布局

                  

         }

        

}

实例二 SimpleAdapter与List<Map<String ,String >>

MainActivity代码

package com.example.gdlistviewarrayadapter;

public class MainActivity extends Activity {

private  ListView listview;

private  String data[][] ={ { "姓名","周杰伦"},{ "姓名","郭庆雨"}};

private SimpleAdapter  sip;

private List<Map<String ,String>> list = new ArrayList<Map<String,String>>();

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      this.setContentView(R.layout.activity_main);

   listview=(ListView)findViewById(R.id.list);

  

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

      Map<String ,String > map= new HashMap<String, String>();

        map.put("A", data[i][0]);

        map.put("B", data[i][1]);

        /*

         * map 里面的Key值是随意定义的 只要是和下面的

         * new SimpleAdapter(this,

         * list, R.layout.datalist,

         *  new String[] {"A","B"}, new int[]{R.id._id,R.id.name});

         *  中的 new String[]{}数组里面的数据一样就好

         * **/

        list.add(map);

   }

   sip=

new SimpleAdapter(this,

      list,

      R.layout.datalist, //把模板布局夹到SimpleAdapter中去

  

      new String[] { "A","B"}, new int[]{R.id._id,R.id.name});

   /*

    * new SimpleAdapter(this,

    * list, R.layout.datalist,

    * new String[] {"A","B"}, new int[]{R.id._id,R.id.name});

    *中的new String[]{"A","B"}和 new  int []{R.id._id,R.id.name} 是把 我们的Map中

    *那个key值与我们模板(datalist.xml)布局(layout)中相应的组件布局一一对应

    * **/

  

   listview.setAdapter(this.sip);

   /*new SimpleAdapter(this,

    * list, R.layout.datalist,

    * new String[] {"A","B"}, new int[]{R.id._id,R.id.name});

    *中的   R.layout.datalist, 是把模板布局加到SimpleAdapter中去

    * listview.setAdapter(this.sip)是把SimpleAdapter添加到ListView 中去

    * ListView 又在显示布局(main.xml)中这样模板布局(layout)datalist.xml也同时

    * 被加到显示布局main.xml中去

    * **/

   }

}

activity_main.xml代码

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <!-- 本布局用于显示布局 -->

    <TextView

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="listView"

        />

    <!-- 用于显示题目 -->

<ListView

    android:id="@+id/list"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

     />

<!-- 本ListView用于加载模板布局datalist.xml -->

</LinearLayout>

datalist.xml 代码

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

    android:layout_width="fill_parent"

    android:layout_height="wrap_content" >

    <!-- 注意 用于模板的Layout的高度不能设置沾满整个全屏

    如果沾满了用于显示的Layout将不起作用 -->

    <TableRow >

       

        <TextView

          android:id="@+id/_id"

          android:layout_width="wrap_content"

          android:layout_height="wrap_content"

           

             />

        <TextView

            android:id="@+id/name"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

             />

    </TableRow>

</TableLayout>

ListActivity

对话框Dialog和Dialog.Builder

Dialog extends Object的子类AlertDialog和CharacterPickerDialog

AlertDialog extends Dialog的子类DataPickerDialog,ProgressDialog和TimePickerDialog

AlertDialog.Builder不是AlertDialog的子类而是AlertDialog的嵌套类,

Public  void class  AlertDialog extends Dialog{

Pubic static class AlertDialog.Builder extends Object{

}

}

在图形界面中,对话框也是人机交互的一种重要形式,程序可以通话对话框对用户进行一些信息的提示

,而用户也可以通过对话框和程序进行一些简单的交互操作,Dialog 可以有一个按钮或是多个按钮或是列表选项,进行人家交互。

在android的开发中,所有的对话框都是从android.app.Dialog 类继承而来,此类的继承机构如下

Java.Long.Object

          Android.app.Dialog

可以看出,此类直接继承自Object类,与View类没有任何继承关系。

但是如果要想实例化,AlertDialog类,往往要依靠其内部类,AlertDialog.Builder完成,在AlertDialog.Builder

类中定义的常用方法如下表

Dialog类定义的常用方法

NO

方      法

类   型

描        述

1

Public void setTitle(CharSequence title)

普通

设置对话框的显示标题

2

Public void setTitle(int title Id)

普通

设置对话框的显示标题,内容为资源文件指定

3

Public void show()

普通

显示对话框

4

Public  void hide()

普通

隐藏对话框

5

Public  Boolean isShowing()

普通

判断对话框是否显示

6

Public  void setContentView()

普通

设置View组件

7

Public void dismiss()

普通

隐藏对话框

8

9

10

AlertDialog.Builder

NO

方  法

类型

描述

1

Public  AlertDialog.Buider(Context  context)

构造

创建AlertDialog.Builder对象

2

Public AlertDialog.Builder setPositiveButton(int textId,DialogInterFace.OnClickListener listener)

普通

为对话框添加一个确定按钮,显示内容有资源文件制定,并设置监听操作

3

Public AlertDialog.Builder setNegativeButton(CharSequence text,DialogInterface.OnClickListener listener)

普通

为对话框设置一个取消按钮,显示内容有资源文件制定,并设置监听操作

4

Public  AlertDialog.Builder set NeutralButton(CharSequence text,DialogInterface.OnclickListener listener)

普通

为对话框设置一个普通按钮 ,并设置监听

5

Public AlertDialog.Builder setMessage( int messageId)

普通

设置显示信息(内容由资源ID引用)

6

Public AlertDialog.Builder setMessage(CharSequence)

普通

设置显示信息(内容由字符串直接组成)

7

Public AlertDialog.Builder setItems(

Int textId,DialogInterface.OnClickListener

listener

)

普通

将信息内容设置为列表项,列表项的内容由 String数组组成,

同时设置监听

8

Public AlertDialog.Builder setItems(

CharSequence[] items,DialogInterface.OnClickListener listener

)

普通

将信息设置为列表项,列表项由资源文件制定,同时设置监听

9

Public AlertDialog create()

普通

创建AlertDialog的实例

10

Public  AlertDialog setIcon(Drawable icon)

普通

设置显示图标

11

Public AlertDialog  setIcon(int iconId)

普通

设置要显示的图标的资源ID

案例一 :简单对话框提示信息

Activity_main.xml

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

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context=".MainActivity" >

    <Button

        android:id="@+id/text"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentLeft="true"

        android:layout_alignParentTop="true"

        android:layout_marginLeft="104dp"

        android:layout_marginTop="146dp"

        android:text="Button" />

</RelativeLayout>

MainActivity

package com.example.alertdialogdemo;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.app.Dialog;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

  private  Button  text=null;

         @Override

         protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   setContentView(R.layout.activity_main);

                   text=(Button)findViewById(R.id.text);

                   text.setOnClickListener(new OnClickListener() {

                           

                            @Override

                            public void onClick(View v) {

                                     // TODO Auto-generated method stub

                            AlertDialog.Builder  builder = new AlertDialog.Builder(MainActivity.this);

                            builder.setTitle("对话框");

                            builder.setMessage("显示提示信息");

                            builder.setIcon(R.drawable.ic_launcher);

                            AlertDialog alertDialog= builder.create();

                            alertDialog.show();

                                    

                            }

                   });

         }

}

案例二:Dialog对话框上的按钮Button以及监听Listener

对话框Dialog可以设置按钮以及一些监听 来提示用户是否要退出程序,隐藏对话框,取消对话框,以及加上一些列表选项

NO

接  口  名  称

描  述

1

DialogInterface.OnClickListener

对话框单击事件处理

2

DialogInterface.OnCancelListener

对话框取消事件处理

3

DialogInterface.OnDismissListener

对话框隐藏事件处理

4

DialogInterface.OnkeyListener

对话框键盘事件处理

5

DialogInterface.OnMultiChoiceClickListener

对话框多选事件处理

6

DialogInter.OnShowListener

对话框显示事件处理

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <Button

        android:id="@+id/text"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Button" />

</LinearLayout>

MainActivity

package com.example.alertdialogdemo;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.app.Dialog;

import android.content.DialogInterface;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

  private  Button  text=null;

         @Override

         protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   setContentView(R.layout.activity_main);

                   text=(Button)findViewById(R.id.text);

                   text.setOnClickListener(new OnClickListener() {

                           

                            @Override

                            public void onClick(View v) {

                                     // TODO Auto-generated method stub

                            AlertDialog.Builder  builder = new AlertDialog.Builder(MainActivity.this);

                            builder.setTitle("对话框");

                            builder.setMessage("显示提示信息");

                            builder.setIcon(R.drawable.ic_launcher);

                            builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

                                     //添加一个确定按钮

                                     @Override

                                     public void onClick(DialogInterface dialog, int which) {

                                               // TODO Auto-generated method stub

                                               MainActivity.this.finish();

                                               //结束Activity

                                     }

                            } );

                            builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

                                     // 设置取消按钮

                                     @Override

                                     public void onClick(DialogInterface dialog, int which) {

                                               // TODO Auto-generated method stub

                                              

                                     }

                            });

                            builder.setNeutralButton("普通按钮",new DialogInterface.OnClickListener() {

                                     //设置普通按钮

                                     @Override

                                     public void onClick(DialogInterface dialog, int which) {

                                               // TODO Auto-generated method stub

                                              

                                     }

                            });

                            AlertDialog alertDialog= builder.create();

                            alertDialog.show();

                                    

                            }

                   });

         }

}

案例三:Dialog对话框上的按钮Button以及Listener二

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <Button

        android:id="@+id/but"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="点击" />

</LinearLayout>

MainActivity

package com.example.dialoglinstenerdemo;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

public class MainActivity extends Activity {

private   Button  but=null;

         @Override

         protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   setContentView(R.layout.activity_main);

         but=(Button)findViewById(R.id.but);

         but.setOnClickListener(new  DialogListener());

                  

         }

        

@Override

         public boolean onKeyDown(int keyCode, KeyEvent event) {

                   // TODO Auto-generated method stub

                   if(keyCode==event.KEYCODE_BACK){

                            MainActivity.this.exitDialog();

                   }

                   return false;

         }

class  DialogListener  implements  OnClickListener{

         @Override

         public void onClick(View v) {

                   // TODO Auto-generated method stub

         MainActivity.this.exitDialog();

         }

        

}

private  void  exitDialog(){

         AlertDialog.Builder  builder = new  AlertDialog.Builder(this);

                              builder.setIcon(R.drawable.ic_launcher);

                              builder.setTitle("程序退出");

                              builder.setMessage("你确定退出么?");

                              builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

                                                                 @Override

                                                                 public void onClick(DialogInterface dialog, int which) {

                                                                           // TODO Auto-generated method stub

                                                                           MainActivity.this.finish();

                                                                 }

                                                        });

                              builder.setNegativeButton(R.string.negative,newDialogInterface.OnClickListener() {

                                                                 //此处引用String.xml文件下的R.string.negative的id

                                                                 @Override

                                                                 public void onClick(DialogInterface dialog, int which) {

                                                                           // TODO Auto-generated method stub

                                                                          

                                                                 }

                                                        });

                             builder.setNeutralButton("查看详情", new DialogInterface.OnClickListener() {

                                                                

                                                                 @Override

                                                                 public void onClick(DialogInterface dialog, int which) {

                                                                           // TODO Auto-generated method stub

                                                                          

                                                                 }

                                                        }) ;

                        AlertDialog  alertDialog = builder.create();

                                alertDialog.show();

}       

}

String.xml

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

<resources>

    <string name="app_name">Dialog案例</string>

    <string name="action_settings">Settings</string>

    <string name="negative">取消</string>

</resources>

案例四:Dialog列表选项setItems()

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/show"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textColor="#FF00FF"

       />

    <Button

        android:id="@+id/onlick"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="点击" />

</LinearLayout>

MainActivity

package com.example.dialogitemdemo;

import android.app.AlertDialog;

import android.app.Dialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.view.View;

import android.view.View.OnClickListener;

public class MainActivity extends Activity {

private  Button  but;

private  TextView  show;

private  String [] args= {"北京","上海","南京"};

         @Override

         protected void onCreate(Bundle savedInstanceState) {

                   super.onCreate(savedInstanceState);

                   setContentView(R.layout.activity_main);

                   show=(TextView)findViewById(R.id.show);

                   but=(Button)findViewById(R.id.onlick);

                   but.setOnClickListener(new DialogSetItemOnClicklistener());

                  

         }

class  DialogSetItemOnClicklistener implements OnClickListener{

         @Override

         public void onClick(View v) {

                   // TODO Auto-generated method stub

                   AlertDialog.Builder  builder = new AlertDialog.Builder(MainActivity.this);

                                       builder.setIcon(R.drawable.ic_launcher);

                                       builder.setTitle("你喜欢的城市");

                                       builder.setItems(args, new DialogInterface.OnClickListener() {

                                                                          

                                                                           @Override

                                                                           public void onClick(DialogInterface dialog, int which) {

                                                                                    // TODO Auto-generated method stub

                                                                                    MainActivity.this.show.setText("你喜欢的城市是:"+MainActivity.this.args[which]);

                                                                           }

                                                                 });

                                AlertDialog alert=  builder.create();

                                 alert.show();

         }

        

        

}

}

案例五:Dialog列表选项setItems()数据用资源文件配置

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

android:orientation="vertical" >

 <TextView

        android:id="@+id/show"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:textColor="#FF00FF"

       />

    <Button

        android:id="@+id/onlick"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="点击" />

</LinearLayout>

MainActivity

package com.example.dialogitemdemo;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

private  Button  but;

private  TextView  show;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

      show=(TextView)findViewById(R.id.show);

      but=(Button)findViewById(R.id.onlick);

      but.setOnClickListener(new DialogSetItemOnClicklistener());

     

   }

class  DialogSetItemOnClicklistener implements OnClickListener{

   @Override

   public void onClick(View v) {

      // TODO Auto-generated method stub

      AlertDialog.Builder  builder = new AlertDialog.Builder(MainActivity.this);

                          builder.setIcon(R.drawable.ic_launcher);

                          builder.setTitle("你喜欢的城市");

         builder.setItems(R.array.city, new DialogInterface.OnClickListener() {

                     

                      @Override

      public void onClick(DialogInterface dialog, int which) {

                         // TODO Auto-generated method stub

           MainActivity.this.show.setText("你喜欢的城市是:"+

           MainActivity.this.getResources().

           getStringArray(R.array.city)[which]);

           //获得资源文件下的StringArray中的R.array.city中的哪一个选项

                      }

                 });

         builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {

        @Override

        public void onClick(DialogInterface dialog, int which) {

           // TODO Auto-generated method stub

           }});

                AlertDialog alert=  builder.create();

                  alert.show();

   }}}

Res/values/city.xml

<resources>

        <string-array name="city" >

            <item >广州</item>

            <item >深圳</item>

            <item >香港</item>

            <item >澳门</item>

            <item >台湾</item>

        </string-array>

  </resources>

案例六 :使用单选框setSingleChoiceItems定义对话框内容

MainActivity

package com.example.dialogsetsinglechoiceitems;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

private Button mybut;

private TextView  show;

private  String []  fruitData ={ "苹果","香蕉","西瓜"};

private  int  chNum=0;

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

      mybut=(Button)findViewById(R.id.mybut);

      show=(TextView)findViewById(R.id.show);

      mybut.setOnClickListener(new SetSingleChoice());

   }

   class  SetSingleChoice implements  OnClickListener{

      @Override

      public void onClick(View arg0) {

        // TODO Auto-generated method stub

        AlertDialog.Builder  builder = new AlertDialog.Builder(MainActivity.this);

          builder.setIcon(R.drawable.ic_launcher);

          builder.setTitle("选择你喜欢的水果");

          builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {

          

           @Override

           public void onClick(DialogInterface dialog, int which) {

              // TODO Auto-generated method stub

              MainActivity.this.show.setText("你喜欢的水果是:"+MainActivity.this.fruitData[chNum]);

           }

        });

          builder.setNegativeButton("取消"new DialogInterface.OnClickListener() {

          

           @Override

           public void onClick(DialogInterface dialog, int which) {

              // TODO Auto-generated method stub

             

           }

        });

         builder.setSingleChoiceItems(MainActivity.this.fruitData, 0, new  DialogInterface.OnClickListener() {

   /*

   * setSingleChoiceItems(

            

 * MainActivity.this.fruitData,-------> 选项数据源 可以通过配置获得

*                           0,------------> 默认选中项位置

*new  DialogInterface.OnClickListener()---> 选项的监听

* )

 * **/           @Override

           public void onClick(DialogInterface dialog, int which) {

              // TODO Auto-generated method stub

              MainActivity.this.show.setText(MainActivity.this.fruitData[which]);

              MainActivity.this.chNum=which;

             //修改选中选

           }

        });

      AlertDialog  alertDialog=  builder.create();

         alertDialog.show();

      }

   }

}

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/show"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="" />

    <Button

        android:id="@+id/mybut"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="选择你喜欢的水果" />

</LinearLayout>

案例七 :使用复选框setMultiChoiceItems定义对话框内容

MainActivity

package com.example.alertdialogsetmultichoiceiteme;

import android.os.Bundle;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

 private  Button  but;

 private   TextView  show;

 private String [] args={ "大学","中庸","论语"};

 private boolean chdata[]= new boolean[]{ true,true,true};

   @Override

   protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      setContentView(R.layout.activity_main);

      show=(TextView)findViewById(R.id.show);

      but=(Button)findViewById(R.id.but);

      but.setOnClickListener(new DialogMultiChoicIteme());

   }

   class  DialogMultiChoicIteme  implements OnClickListener{

      @Override

      public void onClick(View v) {

        // TODO Auto-generated method stub

 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);

               builder.setIcon(R.drawable.ic_launcher);

               builder.setTitle("你喜欢的书籍");

               builder.setPositiveButton("确定",

                    new DialogInterface.OnClickListener() {

             

              @Override

              public void onClick(DialogInterface dialog, int which) {

                 // TODO Auto-generated method stub

                 MainActivity.this.show.append(MainActivity.this.args[0]+","

                           +MainActivity.this.args[1]+","+

                      MainActivity.this.args[2]

                      );

              }

           });

           builder.setNegativeButton("取消",

           new DialogInterface.OnClickListener() {

             

              @Override

              public void onClick(DialogInterface dialog, int which) {

                 // TODO Auto-generated method stub

                

              }

           });

builder.setMultiChoiceItems(

                    MainActivity.this.args,

                    MainActivity.this.chdata ,

                    new DialogInterface.OnMultiChoiceClickListener() {

             

              @Override

        public void onClick(DialogInterface dialog,

                    int which,

                    boolean isChecked) {

                 // TODO Auto-generated method stub

           for (int i = 0; i < MainActivity.this.args.length; i++) {

                    if(i==which&&isChecked){

        MainActivity.this.show.append(MainActivity.this.args[i]+",");

                    }

                   

                 }

              }

           });

               AlertDialog alertDialog=  builder.create();

               alertDialog.show();

      } 

   } 

}

Activity_main.xml

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

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <TextView

        android:id="@+id/show"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="" />

    <Button

        android:id="@+id/but"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="选择你喜欢的数据" />

</LinearLayout>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/babyai996/article/details/134306200

智能推荐

游戏中遮挡剔除方案总结_ue5 单个静态网格体遮挡剔除-程序员宅基地

文章浏览阅读2.1k次。这是侑虎科技第507篇文章,感谢作者FrankZhou供稿。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群:793972859)作者主页:https://www.zhihu.com/people/pkhere,作者也是U Sparkle活动参与者,UWA欢迎更多开发朋友加入U Sparkle开发者计划,这个舞台有你更精彩!遮挡剔除是当一..._ue5 单个静态网格体遮挡剔除

第六章 输入输出系统(汤小丹版操作系统笔记) 超全超详细!!!_计算机操作系统汤小丹 各章节对应算法说明-程序员宅基地

文章浏览阅读2.7k次,点赞6次,收藏59次。操作系统原理-第六章 输入输出系统(汤小丹第四版《操作系统》)内容设及:[ I/O系统的功能模型和接口 ,I/O设备和设备控制器,中断机构和中断处理程序,驱动程序,与设备无关软件,用户软件,缓冲区管理,磁盘存储器的性能与调度]。_计算机操作系统汤小丹 各章节对应算法说明

Java&MYSQL超市管理系统10428-计算机毕业设计项目选题推荐(附源码)-程序员宅基地

文章浏览阅读104次。本超市管理系统采用的数据库是Mysql,使用JAVA技术开发。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。

无线路由器桥接设置-程序员宅基地

文章浏览阅读1.5k次。作者本人家因为户型结构的问题,路由器信号覆盖的一直不是很好,卧室中的角落常常只有一格甚至断线,睡前刷个小视频都不开心!!(敲黑板),于是懒癌患者的我,最近终于想动弹一下,着手解决一下这个困扰多时的问题。 在几种解决方案中,我选择了无线桥接的这种方法,一方面是因为设置方便,另一方面是因为只需要一台或多台(根据具体情况定,需要覆盖的面积有多大)路由器即可,也不需要网线,当然你也可以选择有线的桥接,这样网络会更稳定一些。 先说调试方法(以下每一步调试完,如果页面显示需要重启路由器,重启即可)..._无线路由器桥接设置

jsp利用内置对象response,request实现登录功能_response.sendredirect("登录成功!");}else{response.send-程序员宅基地

文章浏览阅读823次。题目:当用户名与密码一致时提交后跳转到页面显示”登陆成功“,不一致时跳转到登陆不成功_response.sendredirect("登录成功!");}else{response.sendredirect("form.jsp");}

SQL Server 系统数据库_resource-程序员宅基地

文章浏览阅读2.2k次。学习SQL Server,就先来了解一下SQL Server系统数据库! 1、Master(控制,精通,征服,硕士,主人,主要的,熟练地)数据库Master数据库是SQL Server系统最重要的数据库,是追踪所有其他数据库和存储配置信息的关键数据库,控制着用户数据库和SQL Server的操作。它记录了SQL Server系统的所有系统信息,浙西系统信息包括所有的登录信息,系统设置信_resource

随便推点

【毕业设计】 基于单片机的移动共享充电宝设计与实现 - 物联网嵌入式 stm32 c51_keil c51 充电宝程序-程序员宅基地

文章浏览阅读2.7k次,点赞17次,收藏44次。Hi,大家好,这里是丹成学长,今天向大家介绍一个学长做的单片机项目基于单片机的移动充电宝设计与实现大家可用于 课程设计 或 毕业设计单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/125409052为单片机设备供电:为手机供电:硬件原理图:单片机-嵌入式毕设选题大全及项目分享:https://blog.csdn.net/m0_71572576/article/details/125409052..._keil c51 充电宝程序

【有限元分析】matlab平面三角形单元有限元分析_三角形区域有限元分析matlab代码-程序员宅基地

文章浏览阅读1.5k次。代码下载链接图示结构,单元划分如图,已知,μ、E, a,承受均布压力q (μ、E, a, q自己给数字,每人不同)试用有限元法(平面三角形单元)划分四个单元如图,解此平面应力问题。求出应力,应变及支座反力。(可用MATLAB, maple等编程求解,提交程序及结果)% %clcclear;%—鐗╃悊鍙傛暟------------------E=7e10; %寮规�фā閲�,鍗曚綅Pat=0.01; %鍗曞厓鍘氬害,鍗曚綅ma=1; _三角形区域有限元分析matlab代码

vs 怎么调试html5,关于html5:使用-VSCode-如何进行远程开发调试-程序员宅基地

文章浏览阅读758次。对于大型的 Golang 我的项目往往我都会应用 Goland 这样的业余 IDE,然而因为我本地开发环境硬件资源偏低,不能很顺畅的应用 Goland,这个时候咱们能够思考应用 VSCode 来代替 Goland,而且 VSCode 还反对近程开发,所以我索性将开发环境放在近程机器上,而后用 VSCode 近程开发模式进行连贯,最次要的是大部分咱们的我的项目都是间接跑在 Linux 下面的,这个时..._vscode远程同步h5

计算机的起源与发展历程_计算机起源及发展简史-程序员宅基地

文章浏览阅读3.8w次,点赞8次,收藏51次。时间到了1890年,在那个年代,美国是大量移民者良好的目的地,因此美国的人口急剧增长,当时美国宪法规定国家每10年需要进行一次人口大普查来记录和分析美国各地的人口数据,以方便配置各种社会资源,1880年的普查人工用了7年的时间进行统计,也就是说,他们在休息两年之后就要开始第11次普查了,面临越来越多的人口数据,如果纯粹靠人力来统计的话,预计这次的普查需要13年甚至更长的时间。布尔的创新奠定了计算机科学的基础,他的理论为逻辑运算和信息处理提供了坚实的数学基础,为现代计算机的逻辑设计和运算方式奠定了基石。_计算机起源及发展简史

Synopse mORMot框架样例学习03 - NamedPipe Client-Server_mormot2例子-程序员宅基地

文章浏览阅读596次。前边的例01和例02分别展示了静态服务器及嵌入式SQLite3服务器的实现方法,例03是命名管道客户端-服务器,例01中用JSON文件存储数据(按我的理解,每一个SQLRecord就是一个表格,在存储的时候多个表格应该需要多个JSON文件取存储),例02中使用SQLite3数据库存储,只需要一个.db3数据库文件就能存放所有的SQLRecord(表格),例03中实现了客户端-服务器的通讯,客户端的..._mormot2例子

request.getSession().getServletContext().getRealPath() // 虚拟目录映射为实际目录_spring boot request.getsession().getservletcontext-程序员宅基地

文章浏览阅读1k次。request.getSession().getServletContext().getRealPath() // 虚拟目录映射为实际目录_spring boot request.getsession().getservletcontext().getrealpath