如何从alertDialog中设置EditText的行数

3
我需要在弹出对话框的EditText中将行数设置为1。我尝试使用input.setLines(1),但是它没有奏效,我仍然可以输入多行文本,但只能显示最后一行。请问有什么解决办法吗?
以下是我的代码:
final AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(data);
        final EditText input = new EditText(this);
        InputFilter[] FilterArray = new InputFilter[1];
        FilterArray[0] = new InputFilter.LengthFilter(25);
        input.setFilters(FilterArray);
        input.setLines(1);
        input.postDelayed(new Runnable() {
            @Override
            public void run() {
                InputMethodManager keyboard = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                keyboard.showSoftInput(input, 0);
            }
        }, 200);

        alert.setView(input);

1
展示你的代码,你是如何做到的? - ngesh
1个回答

6
这应该可以做到:
input.setSingleLine();

我明白这个方法对于EditText是未定义的。 - Gabrielle
它对我有效,并且它支持API 1吗?否则,这可能有效:input.setSingleLine(true); - Finn Larsen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接