zoukankan      html  css  js  c++  java
  • 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;
    
        } 

    效果图大致如下:

  • 相关阅读:
    关于第一次作业表达式求导总结
    北航OO第一单元总结
    OO课程总结
    OO第三次博客
    OO第二次博客
    OO第一次博客
    OO第一单元总结——多项式求导
    [面向对象]电梯作业优化相关
    面向对象的程序设计-模块一课程总结
    OO第二单元总结——电梯
  • 原文地址:https://www.cnblogs.com/jasonkent27/p/4694913.html
Copyright © 2011-2022 走看看