`
liangoogle
  • 浏览: 278409 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

alertdialog——setview 的 自定义view

阅读更多
我在做一个alertdialog时出错,关于自定义view,
下面是正确的调用代码,onCreateDialog方法中:
[align=left]   LayoutInflater inflater2 =LayoutInflater.from(this);
//dialog_set_merge是一个RadioGroup ,含有两个选项
View merge_view = inflater2.inflate(R.layout.dialog_set_merge,null);

RadioGroup radioGroup_merge =[b] (RadioGroup) merge_view[/b].findViewById(R.id.radioGroup_merge);

final RadioButton inner_to_sd = (RadioButton) merge_view.findViewById(R.id.radion_merge1);

check_merge = true;

inner_to_sd.setClickable(true);

inner_to_sd.setChecked(true);

radioGroup_merge.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

if (checkedId == inner_to_sd.getId())

check_merge = true;

else

check_merge = false;

 }
 });

AlertDialog.Builder dialog_merge = new AlertDialog.Builder(YyBackUpSetting.this);

dialog_merge.setOnKeyListener(new DialogInterface.OnKeyListener() {
 @Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_SEARCH) {
                                    return true;
                                }
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {

                                }
                                return false;
                            }
                        })

.setTitle(R.string.set_merge)

 .setView(merge_view)

 .setPositiveButton(R.string.dialog_ok,new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
showWaitingDialog();

new Thread(new Runnable() {
  @Override
  public void run() {
Looper.prepare();
                                                Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND);
 if (Environment.getExternalStorageDirectorySd() != null) {
  if (Environment.getExternalStorageStateSd()                                                   .equals(Environment.MEDIA_MOUNTED)) {
 fileHelper = new FileHelper(  
                                                             YyBackUpSetting.this);

String path = Environment                                                               .getExternalStorageDirectory()                                                           .toString()                                                              + "/yybackup/";

File srcFile = new File(path);

  String paString = Environment                                                               .getExternalStorageDirectorySd()                                                               .toString()                                                              + "/yybackup/";
  File destFile = new File(paString);

 if (check_merge) {
// 从手机到外置存储卡
try {
                                                                fileHelper.copyDirFilesTo(srcFile,
                                                                        destFile);
  } catch (IOException e) {
     }
                                                            fileHelper.delDir(srcFile);
 } else {
   // 外置存储卡到手机
 try {
                                                                fileHelper.copyDirFilesTo(destFile,
                                                                        srcFile);
                                                            } catch (IOException e) {
                                                                // TODO
                                                                // Auto-generated
                                                                // catch block
                                                                e.printStackTrace();
                                                            }
                                                            fileHelper.delDir(destFile);

                                                        }
                                                        cancelDialog();
                                                        YyBackUpGF.showToast(YyBackUpSetting.this,
                                                                R.string.set_merge_sucess);
                                                    } else {
                                                        removeDialog(DIALOG_SET_MERGE);
                                                        cancelDialog();
                                                        YyBackUpGF.showToast(YyBackUpSetting.this,
                                                                R.string.set_merge_not_legal);
                                                    }
                                                } else {
                                                    cancelDialog();
                                                    YyBackUpGF.showToast(YyBackUpSetting.this,
                                                            R.string.set_merge_not_find_sd);
                                                }
                                                Looper.loop();
                                            }

                                        }).start();
                                    }
                                })
                        .setNegativeButton(R.string.dialog_cancel,
                                new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        removeDialog(DIALOG_SET_MERGE);
                                    }
                                });
                return dialog_merge.create();[/align]

            
分享到:
评论

相关推荐

    安卓Android源码——android 自定义对话框.rar

    本资源“安卓Android源码——android 自定义对话框.rar”显然包含了关于如何在Android平台上创建和定制对话框的源代码示例。通过这个压缩包,我们可以学习到如何摆脱系统默认样式,设计出更符合应用风格的对话框。 ...

    安卓Andriod源码——自定义对话框.zip

    如果需要更深入的自定义,可以创建一个自定义的主题样式,将它应用到`AlertDialog.Builder`。这可以通过在`res/values/styles.xml`中定义一个新的主题,如`@style/CustomDialogTheme`,然后在创建`Builder`时使用:...

    安卓Android源码——alertDialog.rar

    如果系统提供的默认样式不符合需求,可以通过`setView(View view)`方法加载自定义的布局。这个视图可以包含任意的UI元素,如输入框、复选框等。 5. **构建和显示AlertDialog**: 使用`build()`方法创建实际的`...

    Android源码——alertDialog对话框.zip

    例如,通过`setView(View view)`方法可以插入一个包含自定义布局的视图到对话框中。同时,还可以使用`setCustomTitle(View view)`为对话框添加自定义标题栏。 对于更复杂的对话框,如进度条对话框,可以使用`...

    安卓Android源码——MyAlertDialog.rar

    4. 如果需要自定义视图,可以使用`setView(View view)`方法,加载XML布局文件或者创建自定义视图。 5. 最后,通过调用`create()`或`show()`方法将对话框展示出来。 此外,开发者可能会在源码中看到对样式和主题的...

    安卓Android源码——dialog去除边框代码.zip

    Dialog是基于AlertDialog类的,通常由一个对话框主题(style)和自定义布局(content view)组成。在XML资源文件中,我们可以定义一个无边框的主题样式。例如: ```xml <item name="android:windowFrame">@null ...

    安卓Android源码——仿iPhone风格对话框示例,Jar包及源码.rar

    在Android中,我们可以使用自定义布局和AlertDialog类来达到类似的效果。 1. 自定义布局: 创建一个新的XML布局文件,定义对话框的结构,包括标题、内容和按钮。可以设置背景颜色为半透明,并调整边框样式以模仿...

    安卓Android源码——半透明对话框Demo源码.zip

    builder.setView(view) .setCancelable(true) .create() .getWindow() .setBackgroundDrawableResource(android.R.color.transparent); return builder.create(); } ``` 在这里,`android.R.color....

    Android源码——半透明对话框Demo源码.zip

    builder.setView(view) .setCancelable(true) // 可取消对话框 .setNegativeButton("关闭", null); // 添加关闭按钮,点击后对话框消失 return builder.create(); } } ``` 3. **显示对话框**:在需要展示...

    Android 对话框系列——类似IOS风格的对话框

    builder.setView(dialogView) .setCancelable(false) .setPositiveButton("确定", (dialog, which) -> { // 处理点击事件 }); return builder.create(); } ``` 3. **展示对话框** - 在需要展示对话框的地方...

    Android源码——半透明Menu效果源码.zip

    在这个方法中,我们可以通过`AlertDialog.Builder`创建`Dialog`,并自定义其布局和透明度。透明度可以通过修改`Window`的背景属性来实现: ```java @Override public Dialog onCreateDialog(Bundle ...

    Android之IOS风格Dialog对话框

    builder.setView(view); // 设置其他属性 builder.setTitle("标题") .setCancelable(true) .setNegativeButton("取消", null) ..setPositiveButton("确定", new DialogInterface.OnClickListener() { @...

    Android 各种对话框整理

    .setView(view) .setTitle("自定义对话框") .create(); } } ``` 最后,使用`dialogFragment.show(getSupportFragmentManager(), "tag")`来显示自定义DialogFragment。 总结,Android的对话框机制为开发者提供了...

    Android 项目启动的时候,弹出的悬浮带有关闭按钮的dialog-IT计算机-毕业设计.zip

    builder.setView(view); // 获取并设置关闭按钮 Button closeButton = view.findViewById(R.id.btnClose); closeButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick...

    Android---UI篇---Dialog(对话框)

    ### Android UI篇——Dialog(对话框) 在Android应用开发中,对话框(Dialog)作为用户交互的重要组成部分之一,被广泛应用于各种场景下,比如提示信息、请求确认操作、登录界面等。本文将深入探讨Android中Dialog的...

    dialog 使用代码实例

    首先,我们从最基础的开始——定义一个Dialog。在Android中,我们可以使用`AlertDialog.Builder`类来创建一个标准的对话框。以下是一个基本示例: ```java // 创建Builder对象 AlertDialog.Builder builder = new ...

    新手android 五种常用的dialog

    这是最基础的Dialog形式,通常包含一个简短的文本信息和两个操作按钮——“确定”和“取消”。开发者可以使用`AlertDialog.Builder`类来创建这种对话框。首先实例化Builder,然后设置对话框的标题、消息和按钮监听...

    Android 配置文件学习

    Dialog的创建可以通过`AlertDialog.Builder`类进行,然后使用`setView()`方法添加自定义布局。在这个特定的案例中,我们使用`addView()`方法将ListView添加到Dialog中。 ListView是Android中的一个关键组件,用于...

    android 省市区三级联动选择城市控件(dialog样式)

    在实际项目中,为了提高代码复用性和可维护性,可以将这个功能封装成一个自定义的View或者Fragment。通过接口或者回调函数,将选择的结果传递回父Activity或Fragment。 总结来说,这个"android 省市区三级联动选择...

Global site tag (gtag.js) - Google Analytics