具有选择功能的对话框----AlertDialog.Builder
AlertDialog.Builder是一个神奇的对话框,这个对话框中也可以包含对话窗口,级层层叠叠的AlertDialog;本范例将示范如何利用一个按钮事件,在出发这个按钮事件后,再通过类似列表项目的方式呈现在AlertDialog里。一般可用作投票、选择器、遥控器等类型的范例,最后再返回程序,取得User选择的菜单项目结果。
在res/values/strings.xml中加入:
<string-array name="number">
<item>一号</item>
<item>二号</item>
<item>三号</item>
<item>四号</item>
</string-array>
主程序MainActivity.java中代码如下:
package com.example.test01;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
Button button01;
TextView textView01;
ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button01 = (Button)findViewById(R.id.button01);
textView01 = (TextView)findViewById(R.id.textView01);
button01.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setTitle("选择一个号吧");
builder.setIcon(R.drawable.ic_launcher);
builder.setItems(R.array.number, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String[] strings = getResources().getStringArray(R.array.number);
new AlertDialog.Builder(MainActivity.this)
.setTitle("您的选择是:")
.setMessage(strings[which])
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
/*在这里写需要做的是*/
}
}).show();
}
});
builder.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;
}
}
本文演示如何在Android应用中使用AlertDialog.Builder实现带有选择功能的对话框,包括添加按钮事件、显示列表项以及获取用户选择的过程。通过实例代码解释了如何在字符串资源文件中定义选项,并在主程序中调用AlertDialog.Builder来展示这些选项。
583

被折叠的 条评论
为什么被折叠?



