首页 新闻 搜索 专区 学院

这串代码我觉得看起来很麻烦,但是我不知道该怎么重构简化

0
悬赏园豆:20 [已解决问题] 解决于 2013-10-29 16:51
ProgressDialog m_Dialog;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Dialog dialog = new AlertDialog.Builder(Activity01.this)
            .setTitle("登陆提示")//设置标题
            .setMessage("这里需要登录!")//设置内容
            .setPositiveButton("确定",//设置确定按钮
            new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int whichButton)
                {
                    //点击“确定”转向登陆框
                    
                    LayoutInflater factory = LayoutInflater.from(Activity01.this);
                    //得到自定义对话框
                    final View DialogView = factory.inflate(R.layout.dialog, null);
                    //创建对话框
                    AlertDialog dlg = new AlertDialog.Builder(Activity01.this)
                    .setTitle("登录框")
                    .setView(DialogView)//设置自定义对话框的样式
                    .setPositiveButton("确定", //设置"确定"按钮
                    new DialogInterface.OnClickListener() //设置事件监听
                    {
                        public void onClick(DialogInterface dialog, int whichButton) 
                        {
                            //输入完成后,点击“确定”开始登陆
                            m_Dialog = ProgressDialog.show
                                       (
                                         Activity01.this,
                                         "请等待...",
                                         "正在为你登录...", 
                                         true
                                       );
                            
                            new Thread()
                            { 
                              public void run()
                              { 
                                try
                                { 
                                  sleep(3000);
                                }
                                catch (Exception e)
                                {
                                  e.printStackTrace();
                                }
                                finally
                                {
                                    //登录结束,取消m_Dialog对话框
                                    m_Dialog.dismiss();
                                }
                              }
                            }.start(); 
                        }
                    })
                    .setNegativeButton("取消", //设置“取消”按钮
                    new DialogInterface.OnClickListener() 
                    {
                        public void onClick(DialogInterface dialog, int whichButton)
                        {
                            //点击"取消"按钮之后退出程序
                            Activity01.this.finish();
                        }
                    })
                    .create();//创建
                    dlg.show();//显示
                }
            }).setNeutralButton("退出", 
            new DialogInterface.OnClickListener() 
            {
            public void onClick(DialogInterface dialog, int whichButton)
            {
                //点击"退出"按钮之后推出程序
                Activity01.this.finish();
            }
        }).create();//创建按钮

        // 显示对话框
        dialog.show();        
    }
疯狂的bug的主页 疯狂的bug | 初学一级 | 园豆:184
提问于:2013-10-11 10:50
< >
分享
最佳答案
0

这个层次结构有点深,可以将部分代码,提取为独立的方法。你这个链式太长了点,重复代码块也比较多。

收获园豆:20
幻天芒 | 高人七级 |园豆:36672 | 2013-10-11 13:09
其他回答(2)
0

整个代码都在链式里面建议把链式的方法单独写出来,这样看上去更简捷,可读性更强一点

Zery | 园豆:6139 (大侠五级) | 2013-10-11 18:02
0

把一些代码提取出来作为单独的方法来调用。

寂灵天 | 园豆:216 (菜鸟二级) | 2013-10-23 13:51

恩,试了下,确实提出来比较好。主要这个结构的链式比较长,所以可读性不强。

支持(0) 反对(0) 疯狂的bug | 园豆:184 (初学一级) | 2013-10-23 15:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册