android学习笔记之具有选择功能的对话框

来源:互联网 发布:mysql create index 编辑:程序博客网 时间:2024/05/23 19:16

       为了实现具有选择功能的对话框这一程序,首先我们来介绍一个非常有用的组件——AlertDialog。

       java.lang.Object
         |-- android.app.Dialog
                |-- android.app.AlertDialog

       从继承关系中我们可以看出,AlertDialog直接继承自Dialog。我们知道,Dialog窗口主要目的是与User确认及互动,用于“程序提示”,“警告”或“确认”等,是android应用程序中非常重要的一部分。

       在android sdk中,虽然有许多窗口,但真正具有交互功能的则为AlertDialog对话窗口。AlertDialog同样提供了一个静态的嵌套类AlertDialog.Builder供开发者使用。

       AlertDialog可以以列表项目的方式来显示内容,这种显示方式也是非常常见的,如用于投票、选择器以及遥控器等应用程序。

 

程序运行效果:

 

Activity程序如下所示,注意在第二个AlertDialog对话框中设置了两个按钮,但由于本程序重在说明AlertDialog用法,故未添加具体的实现。

public class MainActivity extends Activity {private Button button=null;@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);super.setContentView(R.layout.activity_main);this.button=(Button)super.findViewById(R.id.button);//设置按钮单击消息响应this.button.setOnClickListener(new OnClickListener() {    @Overridepublic void onClick(View v)     {    //新建AlertDialog对话框new AlertDialog.Builder(MainActivity.this).setTitle(R.string.string_alert_title).setItems(R.array.items_dialog,new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {//取出响应字符串资源    CharSequence string_body=MainActivity.this.getResources().getString(R.string.string_alert_body);    final String[] colors=MainActivity.this.getResources().getStringArray(R.array.items_dialog);    //弹出新的对话框new AlertDialog.Builder(MainActivity.this).setMessage(string_body+colors[which]).setNeutralButton(R.string.string_alert_ok, new DialogInterface.OnClickListener() //确认操作{@Overridepublic void onClick(DialogInterface dialog, int which) {//添加操作}}).setNegativeButton(R.string.string_alert_cancel, new DialogInterface.OnClickListener() //取消操作{@Overridepublic void onClick(DialogInterface dialog, int which) {dialog.dismiss();}}).show();}}).show();}});}}


 

布局文件非常简单,只有一个Button组件,此处不再给出。

字符串资源文件如下:

 

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">demo3</string>    <string name="action_settings">Settings</string>    <string name="hello_world">Hello world!</string>    <string name="button_text">选择颜色</string>    <string name="string_alert_title">请选择您喜欢的颜色</string>    <string name="string_alert_body">你选择的是:</string>    <string name="string_alert_ok">确认</string>    <string name="string_alert_cancel">取消</string>        <array name="items_dialog">        <item>红色</item>        <item>绿色</item>        <item>蓝色</item>    </array>    </resources>


 

原创粉丝点击