【问题标题】:Android - set different limit in edit text for foreign characterAndroid - 在编辑文本中为外来字符设置不同的限制
【发布时间】:2013-02-18 04:49:37
【问题描述】:

您好,我正在尝试制作带有限制的编辑文本,我已经成功地为字母创建了它,但现在我想为日文字符和中文字符设置不同的限制,可以吗?

这是我现在的代码

        etComment = new EditText(context);
        LayoutParams lpComment = new LayoutParams(
                (Util.getDisplayWidth(context) * 3) / 5,
                Util.getDisplayHeight(context) * 3 / 10);
        etComment.setLayoutParams(lpComment);
        if (BaseID.user_language == BaseID.LANGUANGE_JP) {
            etComment.setHint(context.getResources().getString(
                    R.string.CommentHint_jp));
        } else if (BaseID.user_language == BaseID.LANGUANGE_EN) {
            etComment.setHint(context.getResources().getString(
                    R.string.CommentHint_en));
        }
        int maxLength = 10;
        InputFilter[] FilterArray = new InputFilter[1];
        FilterArray[0] = new InputFilter.LengthFilter(maxLength);
        etComment.setFilters(FilterArray);

现在字母是 10 我想限制日文和汉字只有 5 怎么办?

谢谢

【问题讨论】:

  • 为什么不在if-else中初始化maxLength而不是在外面初始化呢?这样您就可以根据 language 检查将maxLength 设置为您需要的任何内容。
  • 好主意,所以如果用户使用英语语言,我将限制输入仅限字母,谢谢~!

标签: android android-edittext input-filter


【解决方案1】:

试试这个

if (BaseID.user_language == BaseID.LANGUANGE_JP) { maxLength = 10; } else if (BaseID.user_language == BaseID.LANGUANGE_EN) { maxLenght = 8; }

【讨论】:

  • 抱歉,R.J. 已经回答了。在评论中,但谢谢你,如果 RJ 在 2 天内没有回答这个问题,我会接受你的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 2017-08-05
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多