Android中showDialog(int id)开发小记
2013-03-21 16:46
357 查看
在阅读源码是看到了这样的写法
LinearLayout addAudioBtn = (LinearLayout) findViewById(R.id.create_audio_list_header);
addAudioBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(1);//直接是系统Activity类中的方法
}
});
文档中如是解释
void android.app.Activity.showDialog(int id)
Simple version of
Parameters:
id
我之前开发都是这样调用
private void showDownloadDialog() {
downloadDialog = new ProgressDialog(this);
downloadDialog.setMessage(getString(R.string.alert_download_msg));
downloadDialog.setCancelable(false);
downloadDialog.show();
}
仔细看了一下,原来是与下面这个方法一起使用的
@Override
protected Dialog onCreateDialog(int id) {
final SystemService systemService = new SystemService(this);
Set<String> folderList = systemService.getFolderContainMedia();
choices = folderList.toArray(new String[folderList.size()]);
// 选项数组
// String[] choices = { "Facebook", "Twitter" };
// Check判断数组,与选项对应
// boolean[] chsBool = { true, false };
AlertDialog dialog = CommonAlertDialogBuilder.getInstance(this)
.setIcon(R.drawable.ic_menu_scan).setTitle("请选择")
.setMultiChoiceItems(choices, null,
new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
if (isChecked) {
checkedItem.add(which);
} else {
checkedItem.remove((Object) which);
}
}
}).setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// System.out.println(checkedItem.toString());
for (int i = 0; i < checkedItem.size(); i++) {
// System.out.println(choices[checkedItem
// .get(i)]);
addMediaToPlaylist(systemService
.getMediasByFolder(choices[checkedItem
.get(i)]));
System.out
.println(systemService
.getMediasByFolder(
choices[checkedItem
.get(i)])
.toString());
}
showProcessDialog();
mRunnable.run();
checkedItem.clear();
}
}).setNegativeButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
checkedItem.clear();
}
}).create();
return dialog;
}
LinearLayout addAudioBtn = (LinearLayout) findViewById(R.id.create_audio_list_header);
addAudioBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(1);//直接是系统Activity类中的方法
}
});
文档中如是解释
void android.app.Activity.showDialog(int id)
Simple version of
showDialog(int, Bundle)that does not take any arguments. Simply calls
showDialog(int, Bundle)with null arguments.
Parameters:
id
我之前开发都是这样调用
private void showDownloadDialog() {
downloadDialog = new ProgressDialog(this);
downloadDialog.setMessage(getString(R.string.alert_download_msg));
downloadDialog.setCancelable(false);
downloadDialog.show();
}
仔细看了一下,原来是与下面这个方法一起使用的
@Override
protected Dialog onCreateDialog(int id) {
final SystemService systemService = new SystemService(this);
Set<String> folderList = systemService.getFolderContainMedia();
choices = folderList.toArray(new String[folderList.size()]);
// 选项数组
// String[] choices = { "Facebook", "Twitter" };
// Check判断数组,与选项对应
// boolean[] chsBool = { true, false };
AlertDialog dialog = CommonAlertDialogBuilder.getInstance(this)
.setIcon(R.drawable.ic_menu_scan).setTitle("请选择")
.setMultiChoiceItems(choices, null,
new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
if (isChecked) {
checkedItem.add(which);
} else {
checkedItem.remove((Object) which);
}
}
}).setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// System.out.println(checkedItem.toString());
for (int i = 0; i < checkedItem.size(); i++) {
// System.out.println(choices[checkedItem
// .get(i)]);
addMediaToPlaylist(systemService
.getMediasByFolder(choices[checkedItem
.get(i)]));
System.out
.println(systemService
.getMediasByFolder(
choices[checkedItem
.get(i)])
.toString());
}
showProcessDialog();
mRunnable.run();
checkedItem.clear();
}
}).setNegativeButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
checkedItem.clear();
}
}).create();
return dialog;
}
相关文章推荐
- The method showDialog(int) from the type Activity is deprecated-android旧版dialog不能用的问题
- android ProgressDialo异常 no dialog with id 0 was ever shown via Activity#showDialog
- android开发 混淆小记
- Android开发(19)---常见dialog对话框的运用
- Android 开发 Tip 13 -- generateViewId
- android开发中@+id/和android:id用法的区别?
- Android开发丶使用DialogFragment完成炫酷的弹窗登录界面并完成DialogFragment与宿主Fragment的通信
- android开发记录----自定义dialog的开发
- Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应
- Android软件开发之盘点所有Dialog对话框大合集(一)
- Android开发学习笔记之Dialog
- android show dialog exception or android.view.windowManager BadTokenException
- [置顶] Android开发之AlertDialog警告提示框删除与取消 详解代码
- android开发,手指触摸屏幕后,dialog消失了怎么办?
- 微信移动应用接入开发, Android 授权微信登录获取openid,unionid等,score参数错误或者没有scope权限
- Android开发之AlertDialog.Builder…
- 7.Android 游戏开发常用的系统控件(Dialog)
- Android开发:setAlpha()方法和常用RGB颜色表----颜色, r g b分量数值(int), 16进制表示 一一对应
- 【Android开发小记--6】动画--属性动画以及Fragment切换动画(3D)
- Android开发dialog的底部弹窗