在项目中使用AlertDialog中加入EditText作为接收用户输入的界面,但是当EditText的InputType是文本时,InputType.TYPE_TEXT_VARIATION_NORMAL,有时候输入框中的文字就特别小,而别的输入类型则不存在这个问题,相关代码为:    inputTextBox("昵称:",regUser.nickName,7,InputType.TYPE_TEXT_VARIATION_NORMAL);    输入界面的方法是:
    /**
     * 打开输入界面接受输入
     * @param title 标题栏
     * @param content 默认内容
     * @param maxSize 最大输入字符数
     * @param inputType 输入限制
     */
    public void inputTextBox(String title,String content,int maxSize,int inputType){
        AlertDialog.Builder alert = new AlertDialog.Builder(context);                 
        alert.setTitle(title);  
        alert.setIcon(android.R.drawable.ic_dialog_info);
         final EditText input = new EditText(context);
         input.setTextSize(maxSize); //设置输入的字符数
         input.setInputType(inputType);
         input.setText(content);
         alert.setView(input);
        alert.setPositiveButton("确定", new DialogInterface.OnClickListener() {  
        public void onClick(DialogInterface dialog, int whichButton) {  
            String value = input.getText().toString();
            doTextInput(value);
            repaint();
            return;                  
           }  
         });          alert.setNegativeButton("取消", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                return;   
            }
        });
        alert.show();
    }

解决方案 »

  1.   

    问题我已经解决了,犯了个低级错误:
    input.setTextSize(maxSize);  这行代码设置的字体的高度,而不是最多可以输入的字符个数修改代码如下:
    //input.setTextSize(maxSize); 
             InputFilter[] filters = new InputFilter[1];
             filters[0] = new InputFilter.LengthFilter(maxSize);
             input.setFilters(filters);//设置输入的字符数
    结贴了!
      

  2.   

    我无法获取edit的焦点?不知道为什么