android弹出单选、多选菜单
来源:互联网 发布:感恩节文案 知乎 编辑:程序博客网 时间:2024/05/16 12:55
菜单选择窗口:
菜单多选窗口
菜单单选窗口:
.分类: android -- widget界面 2011-01-20 22:40 448人阅读 评论(5) 收藏 举报 菜单选择窗口: 菜单多选窗口 菜单单选窗口: view plaincopy to clipboardprint?import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends Activity { private String[] areas = new String[]{"全部","玉兰香苑", "张江地铁站", "金科路", "张江路", "紫薇路", "香楠小区" }; private boolean[] areaState=new boolean[]{true, false, false, false, false, false,false }; private RadioOnClick radioOnClick = new RadioOnClick(1); private ListView areaCheckListView; private ListView areaRadioListView; private Button alertButton; private Button checkBoxButton; private Button radioButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); alertButton=(Button)findViewById(R.id.alertButton); checkBoxButton=(Button)findViewById(R.id.checkBoxButton); radioButton=(Button)findViewById(R.id.radioButton); alertButton.setOnClickListener(new AlertClickListener()); checkBoxButton.setOnClickListener(new CheckBoxClickListener()); radioButton.setOnClickListener(new RadioClickListener()); } /** * 菜单弹出窗口 * @author xmz * */ class AlertClickListener implements OnClickListener{ @Override public void onClick(View v) { new AlertDialog.Builder(MainActivity.this).setTitle("选择区域").setItems(areas,new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which){ Toast.makeText(MainActivity.this, "您已经选择了: " + which + ":" + areas[which],Toast.LENGTH_LONG).show(); dialog.dismiss(); } }).show(); } } /** * 多选框弹出菜单窗口 * @author xmz * */ class CheckBoxClickListener implements OnClickListener{ @Override public void onClick(View v) { AlertDialog ad = new AlertDialog.Builder(MainActivity.this) .setTitle("选择区域") .setMultiChoiceItems(areas,areaState,new DialogInterface.OnMultiChoiceClickListener(){ public void onClick(DialogInterface dialog,int whichButton, boolean isChecked){ //点击某个区域 } }).setPositiveButton("确定",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int whichButton){ String s = "您选择了:"; for (int i = 0; i < areas.length; i++){ if (areaCheckListView.getCheckedItemPositions().get(i)){ s += i + ":"+ areaCheckListView.getAdapter().getItem(i)+ " "; }else{ areaCheckListView.getCheckedItemPositions().get(i,false); } } if (areaCheckListView.getCheckedItemPositions().size() > 0){ Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show(); }else{ //没有选择 } dialog.dismiss(); } }).setNegativeButton("取消", null).create(); areaCheckListView = ad.getListView(); ad.show(); } } /** * 单选弹出菜单窗口 * @author xmz * */ class RadioClickListener implements OnClickListener { @Override public void onClick(View v) { AlertDialog ad =new AlertDialog.Builder(MainActivity.this).setTitle("选择区域") .setSingleChoiceItems(areas,radioOnClick.getIndex(),radioOnClick).create(); areaRadioListView=ad.getListView(); ad.show(); } } /** * 点击单选框事件 * @author xmz * */ class RadioOnClick implements DialogInterface.OnClickListener{ private int index; public RadioOnClick(int index){ this.index = index; } public void setIndex(int index){ this.index=index; } public int getIndex(){ return index; } public void onClick(DialogInterface dialog, int whichButton){ setIndex(whichButton); Toast.makeText(MainActivity.this, "您已经选择了: " + index + ":" + areas[index], Toast.LENGTH_LONG).show(); dialog.dismiss(); } } } import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ListView;import android.widget.Toast;public class MainActivity extends Activity { private String[] areas = new String[]{"全部","玉兰香苑", "张江地铁站", "金科路", "张江路", "紫薇路", "香楠小区" }; private boolean[] areaState=new boolean[]{true, false, false, false, false, false,false }; private RadioOnClick radioOnClick = new RadioOnClick(1); private ListView areaCheckListView; private ListView areaRadioListView; private Button alertButton; private Button checkBoxButton; private Button radioButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); alertButton=(Button)findViewById(R.id.alertButton); checkBoxButton=(Button)findViewById(R.id.checkBoxButton); radioButton=(Button)findViewById(R.id.radioButton); alertButton.setOnClickListener(new AlertClickListener()); checkBoxButton.setOnClickListener(new CheckBoxClickListener()); radioButton.setOnClickListener(new RadioClickListener()); } /** * 菜单弹出窗口 * @author xmz * */ class AlertClickListener implements OnClickListener{ @Override public void onClick(View v) { new AlertDialog.Builder(MainActivity.this).setTitle("选择区域").setItems(areas,new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int which){ Toast.makeText(MainActivity.this, "您已经选择了: " + which + ":" + areas[which],Toast.LENGTH_LONG).show(); dialog.dismiss(); } }).show(); } } /** * 多选框弹出菜单窗口 * @author xmz * */ class CheckBoxClickListener implements OnClickListener{ @Override public void onClick(View v) { AlertDialog ad = new AlertDialog.Builder(MainActivity.this) .setTitle("选择区域") .setMultiChoiceItems(areas,areaState,new DialogInterface.OnMultiChoiceClickListener(){ public void onClick(DialogInterface dialog,int whichButton, boolean isChecked){ //点击某个区域 } }).setPositiveButton("确定",new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog,int whichButton){ String s = "您选择了:"; for (int i = 0; i < areas.length; i++){ if (areaCheckListView.getCheckedItemPositions().get(i)){ s += i + ":"+ areaCheckListView.getAdapter().getItem(i)+ " "; }else{ areaCheckListView.getCheckedItemPositions().get(i,false); } } if (areaCheckListView.getCheckedItemPositions().size() > 0){ Toast.makeText(MainActivity.this, s, Toast.LENGTH_LONG).show(); }else{ //没有选择 } dialog.dismiss(); } }).setNegativeButton("取消", null).create(); areaCheckListView = ad.getListView(); ad.show(); } } /** * 单选弹出菜单窗口 * @author xmz * */ class RadioClickListener implements OnClickListener { @Override public void onClick(View v) { AlertDialog ad =new AlertDialog.Builder(MainActivity.this).setTitle("选择区域") .setSingleChoiceItems(areas,radioOnClick.getIndex(),radioOnClick).create(); areaRadioListView=ad.getListView(); ad.show(); } } /** * 点击单选框事件 * @author xmz * */ class RadioOnClick implements DialogInterface.OnClickListener{ private int index; public RadioOnClick(int index){ this.index = index; } public void setIndex(int index){ this.index=index; } public int getIndex(){ return index; } public void onClick(DialogInterface dialog, int whichButton){ setIndex(whichButton); Toast.makeText(MainActivity.this, "您已经选择了: " + index + ":" + areas[index], Toast.LENGTH_LONG).show(); dialog.dismiss(); } }} main.xml代码: view plaincopy to clipboardprint?<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/alertButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="菜单选择窗口" /> <Button android:id="@+id/checkBoxButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="多选菜单选择窗口" /> <Button android:id="@+id/radioButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="单选菜单选择窗口-1" /> </LinearLayout>
- android弹出单选、多选菜单
- android弹出单选、多选菜单
- android弹出单选、多选菜单
- android弹出下拉选择菜单,单选,多选
- 多选弹出菜单
- android弹出下拉选择菜单,单选,多选【运行截图——图】
- Android创建复选菜单项和单选菜单项
- 单选菜单
- Android 弹出菜单 ---- PathButton
- Android 关机弹出菜单
- Android PopupWindow 弹出菜单
- 【Android】弹出菜单popupmenu
- android底部弹出菜单
- Android弹出菜单
- Android 弹出菜单特效
- 【Android】弹出菜单popupmenu
- Android弹出菜单【转】
- Android弹出菜单动画
- HalAllocateCommonBuffer 函数
- EXCEL中插入"√"或"×"的处理
- KMP
- Silverlight ToolTip
- 在GA-P67A-D3-B3主板上装Windows Server 2003
- android弹出单选、多选菜单
- 不能错过的文章
- android---Timer和Handler
- C#中的Abstract
- 推荐 10 个优秀的 HTML5 编码工具
- linux 检查端口占用
- 去掉数组中空值的方法。
- 使用Axis生成调用webservice的客户端stub类
- fedora 15 vmware7.1启动错误问题