• Android 动态生成对话框和EditText


    /**
         * (获取输入) 
         */
        private void showInputDialog() {
           
           ScrollView scrollview = getInitView() ;
           final LinearLayout layout = (LinearLayout) 
                   scrollview.findViewById(30) ;
    
           new AlertDialog.Builder(this) 
               .setTitle("请输入") 
               .setIcon(android.R.drawable.ic_dialog_info)
               .setView(scrollview)
               .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                         @Override 
                         public void onClick(DialogInterface dialog, int which) {   
                             setNewModule(layout) ;
                         }
                    }) 
               .setNegativeButton("取消", new DialogInterface.OnClickListener() {              
                       @Override 
                       public void onClick(DialogInterface dialog, int which) { 
                           // do nothing
                       } 
                   }) 
               .show(); 
           
        }
        
        /**
         * (动态设置view) 
         */
        private ScrollView getInitView() {
          //新建一个布局
            LinearLayout layout = new LinearLayout(this);
            
            LinearLayout.LayoutParams layoutParams =   
                    new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                    ViewGroup.LayoutParams.MATCH_PARENT);
            
            //设置为纵向布局
            layout.setOrientation(LinearLayout.VERTICAL) ;
            //设置layout大小
            layout.setLayoutParams(layoutParams) ;
            //设置layout Id
            layout.setId(30) ;
            
            //新建编辑框
            EditText titleEditText = new EditText(this); 
            titleEditText.setId(20) ;
            titleEditText.setHint("请输入title:");
         //要添加更多对话框可以照着例子添加
            
            //把编辑框加入到layout中
            layout.addView(titleEditText) ;
            
            //给layout包一层可滚动的scrollview
            ScrollView scrollview = new ScrollView(this) ;
            scrollview.setLayoutParams(layoutParams) ;
            scrollview.addView(layout) ;
            
            return scrollview ;
        }
        
        /**
         * (设置module的值) 
         * @param layout
         */
        private void setNewModule(LinearLayout layout) {
            
            String title = ((EditText)layout.findViewById(20))
                    .getText().toString() ;        
            //此处省略掉一些代码
            //设置module
            Module module = new Module() ;
            module.title = title;
    
        } 

    效果图大致如下:

  • 相关阅读:
    iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewCon[转]
    数字统计(0)<P2010_1>
    数字反转(0)<P2011_1>
    质因数分解(0)<P2012_1>
    记数问题(0)<P2013_1>
    珠心算测验(0)<P2014_1>
    金币(0)<P2015_1>
    归并排序
    循环语句(while语句和do...while语句)
    循环语句(for语句的用法)
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4694913.html
Copyright © 2020-2023  润新知