当前位置: 首页 > 知识库问答 >
问题:

EditText输入键(&E)

孔嘉茂
2023-03-14

我想要功能

  1. 只需输入--EditText返回并提交文本
  2. Shift+Enter--在EditText中新建行
EditText text=(EditText)findViewById(R.id.text);

text.setOnEditorActionListener( new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

            if ( (actionId == EditorInfo.IME_ACTION_DONE)  ||
                (  (event.isShiftPressed()==false) && 
                (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) &&
                (event.getAction() == KeyEvent.ACTION_DOWN ) ) ){

                Editable buff=(Editable)v.getText();
                writeText( buff.toString() );

                context.finish();  // texten sparad här o activity avslutas

                return true;
            }
            return false;
            }
    }); 

在layout.xml中:

android:inputType="text|textMultiLine"
android:imeOptions="actionDone"

共有1个答案

李鹏
2023-03-14

我认为您需要使用一个shift键监听器,并保留一个布尔值来检测您的shift键何时被按下,如下所示:

Android shift键监听器

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) 
{
    switch (v.getId()) 
    {
        case R.id.myEditTextId:
        if(keyCode==59)//59 is shift's keycode
        //do your stuff here against pressing shift key
        break;
    }
}
 类似资料:
  • 主要内容:本节引言:,1.设置默认提示文本,2.获得焦点后全选组件内所有文本内容,3.限制EditText输入类型,4.设置最小行,最多行,单行,多行,自动换行,5.设置文字间隔,设置英文字母大写类型,6.控制EditText四周的间隔距离与内部文字与边框间的距离,7.设置EditText获得焦点,同时弹出小键盘,8.EditText光标位置的控制,9.带表情的EditText的简单实现,10.带删除按钮的EditText,本节小结:本节引言: 上一节中我们学习了第一个 UI控件TextView

  • 我创建了一个只允许数字输入的EditText。这是一个非常简单的EditText,没有什么特别之处: 我在一些设备上尝试了它,它如预期的那样工作,我只能输入数字。使用三星Galaxy Note S10时会出现问题(使用三星键盘时,我认为问题就出在这里)。使用该设备,当我聚焦EditText时,键盘会打开(只有数字可见),但当我在字段中键入内容时,什么也没有发生。我可以从键盘上按任意键(输入键、数字

  • 我做了很多研究,但没有找到关于这个问题的任何东西。我也不再有一个起点来寻找哪些关键字。 我关心的是创建一个如图中所示的输入字段。用户应该可以在这里简单地输入一个数字代码。 应该有一个图书馆吗?

  • 在上一节我们讲到了 TextView,它用来显示一段文本。这一节可以算作成是 TextView 的延续,因为从功能上 EditText 在 TextView 的基础之上多了一个输入的功能;从代码上 EditText 是继承自 TextView 的子类,所以我们可以大胆的理解为, EditText 是一种带有输入功能的高级 TextView。 1. EditText 的特性 在学习过 TextVie

  • 问题内容: 我需要在键入时替换EditText内的文本:示例:如果用户按下“ A”,它将被存储到缓冲区中,而在EditText上显示“ D”(看起来就像他按下“ D”)。现在,我可以读取按下的字符,但是在et中不能显示任何字符,以避免stackoverflow: 问题答案: 您可以根据需要更改它:

  • 问题内容: 我正在开发用于库存管理的应用程序。 操作是,通过在中键入项目代码并按键,该代码的详细信息应显示在。在这里,我必须输入数量,然后按计算数量。但是,现在通过提供商品代码,详细信息到达,我可以键入数量,但是通过按键将焦点移到下一行,并且不进行任何计算。但是,再次按键,将计算出最后输入的金额。我是Java的初学者,所以我不知道如何解决此问题。我在Netbeans中使用MySQL和Java。 我