效果图!!!
单选的!!
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyLayout" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/mych" 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="选择水果" /> <TextView android:id="@+id/mytext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout>
package com.example.dialog1; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.support.v4.app.DialogFragment; import android.view.Menu; 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=null;//定义按钮组件 private TextView maych=null;//定义文本显示组件 private TextView matext=null; private int chNum=0;//记录选中项 private String fruitData[]=new String[]{"苹果","西瓜","水蜜桃"}; private String fruitDesc[]=new String[]{ "苹果,吃了变笨", "西瓜,吃了变傻", "水蜜桃,从来没有人吃过那个东西," }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.mybut=(Button)super.findViewById(R.id.mybut);//取得组件 this.maych=(TextView)super.findViewById(R.id.mych);//取得组件 this.matext=(TextView)super.findViewById(R.id.mytext); this.mybut.setOnClickListener(new OnClickListenerImpl());//设置单机事件 } private class OnClickListenerImpl implements OnClickListener{ @Override public void onClick(View v) { // TODO 自动生成的方法存根 Dialog dialog=new AlertDialog.Builder(MainActivity.this)//实列化对向 .setTitle("请你选择你喜欢的水果") .setPositiveButton("确定", new DialogInterface.OnClickListener(){//设置操作监听 public void onClick(DialogInterface dialog, int whichButton){//单机事件 } }).setNegativeButton("取消", new DialogInterface.OnClickListener() {//设置操作监听 @Override public void onClick(DialogInterface dialog, int whichButton) {//单机事件 // TODO 自动生成的方法存根 } }).setSingleChoiceItems(MainActivity.this.fruitData,//设置列表选项 0,//设置第一个按钮被选中 new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {//设置显示信息 // TODO 自动生成的方法存根 MainActivity.this.matext//设置详细信息 .setText(MainActivity.this.fruitDesc[which]); MainActivity.this.chNum=which;//修改选中项 } }).create(); dialog.show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
复选
main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/MyLayout" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/mych" 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>
package com.example.dialog1; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.support.v4.app.DialogFragment; import android.view.Menu; 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=null;//定义按钮组件 private TextView maych=null;//定义文本显示组件 private String fruitData[]=new String[]{"苹果","西瓜","水蜜桃"};//单选按钮 private boolean chData[]=new boolean[]{true,true,false};//默认选中 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.mybut=(Button)super.findViewById(R.id.mybut);//取得组件 this.maych=(TextView)super.findViewById(R.id.mych);//取得组件 this.mybut.setOnClickListener(new OnClickListenerImpl());//设置单机事件 } private class OnClickListenerImpl implements OnClickListener{ @Override public void onClick(View v) { // TODO 自动生成的方法存根 Dialog dialog=new AlertDialog.Builder(MainActivity.this)//实列化对向 .setTitle("请你选择你喜欢的水果") .setPositiveButton("确定", new DialogInterface.OnClickListener(){//设置操作监听 public void onClick(DialogInterface dialog, int whichButton){//单机事件 } }).setNegativeButton("取消", new DialogInterface.OnClickListener() {//设置操作监听 @Override public void onClick(DialogInterface dialog, int whichButton) {//单机事件 // TODO 自动生成的方法存根 } }).setMultiChoiceItems(MainActivity.this.fruitData,//设置列表选项 MainActivity.this.chData,//设置第一个按钮被选中 new DialogInterface.OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) {//设置显示消息 // TODO 自动生成的方法存根 for(int x=0;x<=fruitData.length;x++){ if(x==which&&isChecked){//被选中 maych.append(fruitData[x]+"、"); } } } }).create(); dialog.show(); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }