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

智能推荐

FX3/CX3 JLINK 调试_ezusbsuite_qsg.pdf-程序员宅基地

文章浏览阅读2.1k次。FX3 JLINK调试是一个有些麻烦的事情,经常有些莫名其妙的问题。 设置参见 c:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware 下的 EzUsbSuite_UG.pdf 文档。 常见问题: 1.装了多个版本的jlink,使用了未注册或不适当的版本 选择一个正确的版本。JLinkARM_V408l,JLinkA_ezusbsuite_qsg.pdf

用openGL+QT简单实现二进制stl文件读取显示并通过鼠标旋转缩放_qopengl如何鼠标控制旋转-程序员宅基地

文章浏览阅读2.6k次。** 本文仅通过用openGL+QT简单实现二进制stl文件读取显示并通过鼠标旋转缩放, 是比较入门的级别,由于个人能力有限,新手级别,所以未能施加光影灯光等操作, 未能让显示的stl文件更加真实。****效果图:**1. main.cpp```cpp#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); _qopengl如何鼠标控制旋转

刘焕勇&王昊奋|ChatGPT对知识图谱的影响讨论实录-程序员宅基地

文章浏览阅读943次,点赞22次,收藏19次。以大规模预训练语言模型为基础的chatgpt成功出圈,在近几日已经给人工智能板块带来了多次涨停,这足够说明这一风口的到来。而作为曾经的风口“知识图谱”而言,如何找到其与chatgpt之间的区别,找好自身的定位显得尤为重要。形式化知识和参数化知识在表现形式上一直都是大家考虑的问题,两种技术都应该有自己的定位与价值所在。知识图谱构建往往是抽取式的,而且往往包含一系列知识冲突检测、消解过程,整个过程都能溯源。以这样的知识作为输入,能在相当程度上解决当前ChatGPT的事实谬误问题,并具有可解释性。

如何实现tomcat的热部署_tomcat热部署-程序员宅基地

文章浏览阅读1.3k次。最重要的一点,一定是degbug的方式启动,不然热部署不会生效,注意,注意!_tomcat热部署

用HTML5做一个个人网站,此文仅展示个人主页界面。内附源代码下载地址_个人主页源码-程序员宅基地

文章浏览阅读10w+次,点赞56次,收藏482次。html5 ,用css去修饰自己的个人主页代码如下:&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;&lt;html xmlns="http://www.w3.org/1999/xh..._个人主页源码

程序员公开上班摸鱼神器!有了它,老板都不好意思打扰你!-程序员宅基地

文章浏览阅读201次。开发者(KaiFaX)面向全栈工程师的开发者专注于前端、Java/Python/Go/PHP的技术社区来源:开源最前线链接:https://github.com/svenstaro/gen..._程序员怎么上班摸鱼

随便推点

UG\NX二次开发 改变Block UI界面的尺寸_ug二次开发 调整 对话框大小-程序员宅基地

文章浏览阅读1.3k次。改变Block UI界面的尺寸_ug二次开发 调整 对话框大小

基于深度学习的股票预测(完整版,有代码)_基于深度学习的股票操纵识别研究python代码-程序员宅基地

文章浏览阅读1.3w次,点赞18次,收藏291次。基于深度学习的股票预测数据获取数据转换LSTM模型搭建训练模型预测结果数据获取采用tushare的数据接口(不知道tushare的筒子们自行百度一下,简而言之其免费提供各类金融数据 , 助力智能投资与创新型投资。)python可以直接使用pip安装tushare!pip install tushareCollecting tushare Downloading https://files.pythonhosted.org/packages/17/76/dc6784a1c07ec040e74_基于深度学习的股票操纵识别研究python代码

中科网威工业级防火墙通过电力行业测评_电力行业防火墙有哪些-程序员宅基地

文章浏览阅读2k次。【IT168 厂商动态】 近日,北京中科网威(NETPOWER)工业级防火墙通过了中国电力工业电力设备及仪表质量检验测试中心(厂站自动化及远动)测试,并成为中国首家通过电力协议访问控制专业测评的工业级防火墙生产厂商。   北京中科网威(NETPOWER)工业级防火墙专为工业及恶劣环境下的网络安全需求而设计,它采用了非X86的高可靠嵌入式处理器并采用无风扇设计,整机功耗不到22W,具备极_电力行业防火墙有哪些

第十三周 ——项目二 “二叉树排序树中查找的路径”-程序员宅基地

文章浏览阅读206次。/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:二叉树排序树中查找的路径 */#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node

C语言基础 -- scanf函数的返回值及其应用_c语言ignoring return value-程序员宅基地

文章浏览阅读775次。当时老师一定会告诉你,这个一个"warning"的报警,可以不用管它,也确实如此。不过,这条报警信息我们至少可以知道一点,就是scanf函数调用完之后是有一个返回值的,下面我们就要对scanf返回值进行详细的讨论。并给出在编程时利用scanf的返回值可以实现的一些功能。_c语言ignoring return value

数字医疗时代的数据安全如何保障?_数字医疗服务保障方案-程序员宅基地

文章浏览阅读9.6k次。十四五规划下,数据安全成为国家、社会发展面临的重要议题,《数据安全法》《个人信息保护法》《关键信息基础设施安全保护条例》已陆续施行。如何做好“数据安全建设”是数字时代的必答题。_数字医疗服务保障方案

推荐文章

热门文章

相关标签