防止在 EditText 上输入键,但仍将文本显示为多行

Prevent enter key on EditText but still show the text as multi-line(防止在 EditText 上输入键,但仍将文本显示为多行)
本文介绍了防止在 EditText 上输入键,但仍将文本显示为多行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

如何在 Android 上制作 EditText,这样用户可能不会输入多行文本,但显示仍然是多行的(即,有自动换行而不是向右移动的文本)?

How do I make an EditText on Android such that the user may not enter a multi-line text, but the display is still multi-line (i.e. there is word-wrap instead of the text going over to the right)?

类似于内置短信应用,我们不能输入换行符,但文本显示为多行.

It's similar to the built-in SMS application where we can't input newline but the text is displayed in multiple lines.

推荐答案

我将子类化小部件并覆盖键事件处理以阻止 Enter 键:

I would subclass the widget and override the key event handling in order to block the Enter key:

class MyTextView extends EditText
{
    ...
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if (keyCode==KeyEvent.KEYCODE_ENTER) 
        {
            // Just ignore the [Enter] key
            return true;
        }
        // Handle all other keys in the default way
        return super.onKeyDown(keyCode, event);
    }
}

这篇关于防止在 EditText 上输入键,但仍将文本显示为多行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Resume game cocos2d(恢复游戏 cocos2d)
Multi-touch detecting amp; differentiating - Cocos2d for iPhone(多点触控检测差异化 - Cocos2d for iPhone)
How can I use CClistview in COCOS2d Android?(如何在 COCOS2d Android 中使用 CClistview?)
cocos2d-android: how to display score(cocos2d-android:如何显示分数)
Sqlite database not copied from asset folder Android(Sqlite 数据库未从资产文件夹 Android 复制)
SQLite Database Copy Appears Corrupted When Generated by Device and not Emulator(SQLite 数据库副本在由设备而不是模拟器生成时出现损坏)