相关疑难解决方法(0)

Android - 在EditText中处理"Enter"

我想知道是否有办法处理用户Enter在键入时按下EditText,例如onSubmit HTML事件.

还想知道是否有一种方法可以操作虚拟键盘,使"完成"按钮被标记为其他东西(例如"Go")并在单击时执行某个操作(再次,如onSubmit).

android textview android-edittext

433
推荐指数
15
解决办法
34万
查看次数

如何处理ImeOptions的完成按钮点击?

我正在EditText设置以下属性,以便在用户单击EditText时可以在键盘上显示完成按钮.

editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
Run Code Online (Sandbox Code Playgroud)

当用户点击屏幕键盘上的完成按钮(完成输入)时,我想更改RadioButton状态.

如何从屏幕键盘上点击完成按钮?

在此输入图像描述

android ime android-edittext

172
推荐指数
8
解决办法
18万
查看次数

活动开始时如何隐藏软键盘

android:windowSoftInputMode="stateVisible"在Manifest中有一个Edittext .现在,当我开始活动时,将显示键盘.如何隐藏它?我无法使用,android:windowSoftInputMode="stateHidden因为当键盘可见时,最小化应用程序并恢复它键盘应该是可见的.我试过了

InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);

但它不起作用.

android android-softkeyboard

146
推荐指数
15
解决办法
20万
查看次数

键盘上的Android使用完成按钮单击按钮

在我的应用程序中确定我有一个字段供用户输入数字.我将字段设置为仅接受数字.当用户点击该字段时,它会调出键盘.在键盘上(在ICS上)有一个完成按钮.我想让键盘上的完成按钮触发我在我的应用程序中的提交按钮.我的代码如下.

package com.michaelpeerman.probability;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.util.Random;

public class ProbabilityActivity extends Activity implements OnClickListener {

private Button submit;
ProgressDialog dialog;
int increment;
Thread background;
int heads = 0;
int tails = 0;

public void onCreate(Bundle paramBundle) {
    super.onCreate(paramBundle);
    setContentView(R.layout.main);
    submit = ((Button) findViewById(R.id.submit));
    submit.setOnClickListener(this);
}

public void onClick(View view) {
    increment = 1;
    dialog = new ProgressDialog(this);
    dialog.setCancelable(true); …
Run Code Online (Sandbox Code Playgroud)

android keyboard-events android-softkeyboard

116
推荐指数
5
解决办法
11万
查看次数

如何点击Android EditView"完成"按钮并隐藏键盘?

当用户点击时EditView,Android会打开键盘,以便用户可以写入EditView.

问题是,当用户完成写入时,无法隐藏键盘.用户必须按后退按钮才能隐藏键盘.

有没有办法Done在键盘上显示隐藏键盘的按钮?

keyboard android

107
推荐指数
13
解决办法
11万
查看次数

多线EditText,2.3上有完成的SoftInput动作标签

有没有办法让Multi-Line EditText出现并在Android 2.3上使用IME Action Label"Done"?

在Android 2.2中,这不是问题,输入按钮显示IME操作标签"完成"(android:imeActionLabel="actionDone"),并在单击时取消软输入.

配置EditText多线时,Android 2.3无法显示软输入键盘的"完成"操作.

我已经设法通过使用a来改变Soft Input输入按钮的行为KeyListener,但是enter按钮仍然看起来像一个回车键.


这是宣言 EditText

<EditText
        android:id="@+id/Comment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="0dp"
        android:lines="3"
        android:maxLines="3"
        android:minLines="3"
        android:maxLength="60"
        android:scrollHorizontally="false"
        android:hint="hint"
        android:gravity="top|left"
        android:textColor="#888"
        android:textSize="14dp"
        />
<!-- android:inputType="text" will kill the multiline on 2.3! -->
<!-- android:imeOptions="actionDone" switches to a "t9" like soft input -->
Run Code Online (Sandbox Code Playgroud)

inputType在加载后在活动中设置内容视图时检查值,它显示为:

inputType = 0x20001
Run Code Online (Sandbox Code Playgroud)

这是:

  • class = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_NORMAL
  • flags = InputType.TYPE_TEXT_FLAG_MULTI_LINE

android android-edittext

80
推荐指数
5
解决办法
4万
查看次数

EditText上的Done按钮的监听器?

如果我有一个EditText,我想听听用户是否按下键盘上的"完成"按钮..我该怎么做?

java android

73
推荐指数
5
解决办法
4万
查看次数

Android软键盘操作按钮

我的布局有4个EditText视图和一个提交Button视图.我需要为前3个EditText设置"Next"按钮,为第4个EditText字段设置"Done"按钮,而不是软键盘的"New Line"键.

如何才能做到这一点?

android android-layout android-softkeyboard

37
推荐指数
2
解决办法
4万
查看次数

如何使用ActionDone按钮实现Multiline EditText(不带Enter按钮)

我有EditText,用于在消息(电子邮件,短信)上输入内容.我希望消息能够立即发布在ActionDone按钮上.我使用以下代码:

message.setOnEditorActionListener((textView, i, keyEvent) -> {
            switch (i) {
                case EditorInfo.IME_ACTION_DONE:
                    if (messageCanBePosted()) {
                        SoftKeyboard.hide(message);
                        postMessage();
                        return true;
                    } else {
                        return false;
                    }
                default:
                    return false;
            }
        }); 
Run Code Online (Sandbox Code Playgroud)

但我也希望这个消息字段是多行的,就像在任何其他信使应用程序中一样.我可以用这条线来实现它:

android:inputType="textMultiLine"
Run Code Online (Sandbox Code Playgroud)

问题是在添加此行后,ActionDone按钮开始像Enter按钮一样.所以我EditorInfo.IME_ACTION_DONE从来没有调用过捕获的回调.因此,每次用户按下该按钮光标移动到新行而不是发布消息.

如何保持EditText的多行行为(在多行显示文本的能力)和ActionDone按钮?

android multiline ime android-edittext imeoptions

18
推荐指数
3
解决办法
1万
查看次数

如何为EditText同时使用singleLine ="false"和imeOptions ="actionNext"?

背景

假设您有多个EditText实例.

您希望能够使用键盘的下一个按钮(用作ENTER键的替换)在它们之间切换.

每个EditText可能都有一个可以多行显示的长内容(假设我希望将其限制为3行,如果文本仍然太长,请使用ellipsize).

问题

正如我所注意到的,TextView和EditText都有非常奇怪的行为,缺乏一些基本功能.其中之一是,如果您希望转到下一个视图,则需要为每个EditText实例设置singleLine ="true".

我试过的

我已经尝试了下一个xml布局(和其他试验),但它不起作用:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
  android:layout_height="match_parent" android:orientation="vertical"
  android:gravity="center" tools:context=".MainActivity">

  <EditText android:id="@+id/editText1" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:nextFocusDown="@+id/editText2"
    android:singleLine="false" android:imeOptions="actionNext"
    android:maxLines="3" android:ellipsize="end"
    android:text="@string/very_long_text" />

  <EditText android:id="@+id/editText2" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:nextFocusDown="@+id/editText3"
    android:singleLine="false" android:imeOptions="actionNext"
    android:maxLines="3" android:ellipsize="end"
    android:text="@string/very_long_text" />

  <EditText android:id="@+id/editText3" android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:singleLine="false"
    android:maxLines="3" android:ellipsize="end"
    android:text="@string/very_long_text"/>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我也尝试了下一个代码,但它确实是一个愚蠢的解决方案:

...
final EditText editText=(EditText)findViewById(R.id.editText1);
editText.setOnEditorActionListener(new OnEditorActionListener()
  {
    @Override
    public boolean onEditorAction(final TextView v,final int actionId,final KeyEvent event)
      {
      if(actionId==EditorInfo.IME_NULL)
        {
        final View view=findViewById(editText.getNextFocusDownId());
        if(view!=null)
          {
          view.requestFocus();
          return true;
          }
        }
      return …
Run Code Online (Sandbox Code Playgroud)

android focus multiline android-softkeyboard android-edittext

6
推荐指数
1
解决办法
1949
查看次数

如何在 Android 上为 EditText 设置 MultiLine 和 imeOptions="actionDone" ?

如何同时设置这些选项:

  • android:minLines="3"
  • android:inputType="textMultiLine"
  • android:imeOptions="actionDone"

好像我一输入android:inputType="textMultiLine",键盘就自动将OK键替换为Enter键。有谁知道是否可以同时拥有两把钥匙?

注意:这个答案不是我想要的。我想要两把钥匙。

android android-softkeyboard

5
推荐指数
1
解决办法
7121
查看次数

在数据绑定中使用键盘上的完成按钮

我试图使用软键盘的完成按钮通过数据绑定激活方法.就像onClick一样.有没有办法做到这一点?

例:

<EditText               
    android:id="@+id/preSignUpPg2EnterPhone"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"       
    onOkInSoftKeyboard="@{(v) -> viewModel.someMethod()}"
    />
Run Code Online (Sandbox Code Playgroud)

onOkInSoftKeyboard不存在...有什么东西可以创建这种行为吗?

谢谢!

android android-databinding

3
推荐指数
3
解决办法
3509
查看次数

EditText 多行带有“下一个视图按钮”而不是“新行按钮”

EditText目标是将多行与“下一个视图按钮”一起使用android:inputType="textMultiLine",例如android:inputType="text"(见图 2)。

<EditText
    android:id="@+id/addAffirmationContent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:maxLength="255"
    android:imeOptions="flagNoExtractUi" />
Run Code Online (Sandbox Code Playgroud)

我尝试了许多与: 的组合 android:inputType, singleLine, nextFocusDown, nextFocusUp, nextFocusLeft, nextFocusRight, nextFocusForward, imeOptions, lines,但android:inputType="textMultiLine"总是强制换行按钮。

在 Nexus 5 Android 7 上测试。

图一:换行按钮:
新行按钮

图2.:下一个视图按钮:
下一个视图按钮

android android-edittext android-view

2
推荐指数
1
解决办法
2776
查看次数