AlertDialog的初步了解
来源:互联网 发布:学会python要多久 编辑:程序博客网 时间:2024/05/01 06:37
AlertDialog类的功能十分强大,可以生成带按钮的提示对话框,还可以生成带列表的列表对话框。
1、带确定,中立和取消三个按钮的提示对话框。按钮根据需要添加
2、带列表的对话框
3、带多个单选列表项和n个按钮的列表对话框
4、带多个多选列表项和n个按钮的列表对话框
AlertDialog类
构造方法:该类没有构造方法,需要用AlertDialog.Builder这个类来创建。
常用方法:
dialog.setTitle("标题"):用于给对话框设置标题
dialog.setMessage("猜猜猜"):用于提示对话框要显示的内容
dialog.setIcon(R.drawable.ic_launcher):为对话框设置图片
dialog.setButton(AlertDialog.BUTTON_POSITIVE, "确定", new OnClickListener() {}): 设置按钮,最多只能有三个按钮
dialog.show():让对话框显示出来
AlertDialog.Builder类:
构造方法:
new AlertDialog.Builder(context):就是构造方法
常用方法:
builder.setTitle("标题"):用于给对话框设置标题
builder.setMessage("猜猜猜"):用于提示对话框要显示的内容
builder.setIcon(R.drawable.ic_launcher):为对话框设置图片
builder.setNegativeButton(text, listener):为对话框设置确定按钮,其他两个一样的
builder.setItems(items, new DialogInterface.OnClickListener() {}):用于给对话框添加列表项
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {}):用于给对话框添加单选列表项,一般添加一个按钮
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {}):用于给对话框添加多选列表项,一般添加一个按钮
builder.setAdapter(adapter1, new DialogInterface.OnClickListener() {}):可以用在这儿的是ListAdapter的子类
builder.setView(v):用于设置自定义的view
builder.show():使对话框显示
builder.create():生成AlertDialog对象
代码:
①三个按钮,继续添加覆盖之前的
builder = new AlertDialog.Builder(this);
AlertDialog dialog = builder.create();
dialog.setTitle("按钮");
dialog.setMessage("猜猜猜");
dialog.setIcon(R.drawable.ic_launcher);
dialog.setButton(AlertDialog.BUTTON_POSITIVE, "确定", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "哟哟 确定", Toast.LENGTH_LONG).show();
}
});
dialog.setButton(AlertDialog.BUTTON_NEGATIVE, "取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "哟哟 取消", Toast.LENGTH_LONG).show();
}
});
dialog.setButton(AlertDialog.BUTTON_NEUTRAL, "中立", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "哟哟 中立", Toast.LENGTH_LONG).show();}
});
dialog.show();
带列表的对话框:
builder = new AlertDialog.Builder(this);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
}
});
builder.show();
单选的对话框:
builder = new AlertDialog.Builder(this);
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
a = which;
Toast.makeText(MainActivity.this, "点了" + items[a], Toast.LENGTH_SHORT).show();
}
});
// 这儿设置的原因是因为只有这样 才能确定哪一项被点击了
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "点了" + items[a], Toast.LENGTH_SHORT).show();
}
});
builder.show();
多选的对话框:
builder = new AlertDialog.Builder(this);
builder.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
checkedItems[which] = isChecked;
}
});
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
String choiceStr = "";
@Override
public void onClick(DialogInterface dialog, int which) {
for (int i = 0; i < items.length; i++) {
if (checkedItems[i]) {
choiceStr += items[i];
}
}
Toast.makeText(getApplicationContext(), choiceStr, Toast.LENGTH_LONG).show();
}
});
builder.show();
使用ArrayAdapter添加数据
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
builder = new AlertDialog.Builder(this);
builder.setAdapter(adapter1, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
}
});
builder.show();
使用SimpleAdapter添加的数据:
SimpleAdapter adapter2 = new SimpleAdapter(this, data, R.layout.dialog_item, new String[] { "Img", "name" },
new int[] { R.id.iv_img, R.id.tv_name });
builder = new AlertDialog.Builder(this);
builder.setAdapter(adapter2, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, items[which], Toast.LENGTH_SHORT).show();
}
});
builder.show();
自定义布局:
builder = new AlertDialog.Builder(this);
View v = getLayoutInflater().inflate(R.layout.login, null);
builder.setView(v);
et_username = (EditText) v.findViewById(R.id.et_username);
et_password = (EditText) v.findViewById(R.id.et_password);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String username = et_username.getText().toString();
String password = et_password.getText().toString();
Toast.makeText(MainActivity.this, username + " " + password, Toast.LENGTH_SHORT).show();
}
});
builder.show();
自定义布局ListView:
builder = new AlertDialog.Builder(this);
View v = getLayoutInflater().inflate(R.layout.alertdialog_listview, null);
ListView lv_1 = (ListView) v.findViewById(R.id.lv_1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items);
lv_1.setAdapter(adapter);
builder.setView(v).setTitle("弹出框").setIcon(R.drawable.ic_launcher).show();
0 0
- AlertDialog的初步了解
- Jawe的初步了解
- Jawe的初步了解
- Router 的初步了解
- 指针的初步了解
- Tornado的初步了解
- Cookie的初步了解
- UML的初步了解
- C#的初步了解
- 初步了解的J2EE
- Internet的初步了解
- aar的初步了解
- HashSet的初步了解
- ArrayList的初步了解
- JNI 的初步了解
- Intent的初步了解
- ScroolView的初步了解
- git的初步了解
- Longest Common Prefix
- HDOJ 1995 汉诺塔V
- 粒子群算法的matlab实现
- 【程序44】 题目:一个偶数总能表示为两个素数之和。
- 拼图小游戏“ST--拼图”开发篇之主要功能的实现(三)
- AlertDialog的初步了解
- 新手必看之UILabel
- Codeforces Round #328 (Div. 2)
- Django中与Html相关的filter
- UFT
- 使用帧缓冲区进行三维交互
- 王爽第九章依据位移进行转移的jmp指令
- hdu1248寒冰王座【完全背包入门题】
- HANA学院(7)- (5)从SAP HANA Studio连接到SAP HANA