相关疑难解决方法(0)

如何检查Android中软件键盘的可见性?

我需要做一个非常简单的事情 - 找出是否显示了软件键盘.这在Android中可行吗?

android visibility android-softkeyboard

502
推荐指数
9
解决办法
26万
查看次数

Android:焦点在EditText上时自动显示软键盘

我正在使用输入框AlertDialog.在EditText该对话框中本身自动对焦,当我打电话AlertDialog.show(),但软键盘未自动显示.

如何在显示对话框时自动显示软键盘?(并且没有物理/硬件键盘).与按下"搜索"按钮调用全局搜索的方式类似,将自动显示软键盘.

keyboard android soft-keyboard android-edittext

328
推荐指数
12
解决办法
29万
查看次数

以编程方式隐藏/显示Android软键盘

可能重复:
关闭/隐藏Android软键盘

首先,我已经看到了这个帖子.我试过那里接受的方法..但没有什么对我有用..

我的应用程序中有两个屏幕.

  • 第一个有2个EditText - 一个用于用户名,一个用于密码
  • 第二个有一个ListView和一个EditText - 来过滤listView

在我的第一个屏幕中,我希望用户名EditText专注于启动,键盘应该是可见的 ..这是我的实现(通过删除不必要/不相关的代码简化)..

app_login.xml

<LinearLayout android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="20dip"  
    android:paddingRight="20dip">

    <EditText android:id="@+id/username" 
        android:singleLine="true" 
        android:layout_width="fill_parent"  
        android:layout_height="wrap_content" android:hint="Username"  
        android:imeOptions="actionDone" android:inputType="text"
        android:maxLines="1"/>

    <EditText android:id="@+id/password" 
        android:password="true" 
        android:singleLine="true"  
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"    
        android:hint="Password" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

AppLogin.java

class AppLogin extends Activity{
    private EditText mUserNameEdit = null;
    private EditText mPasswordEdit = null;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_login);

        mUserNameEdit  =    (EditText) findViewById(R.id.username);
        mPasswordEdit  =    (EditText) findViewById(R.id.password);

        /* code to show keyboard on startup.this code is not working.*/ …
Run Code Online (Sandbox Code Playgroud)

java android show hide soft-keyboard

233
推荐指数
4
解决办法
26万
查看次数

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

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万
查看次数

如何在不将焦点设置到其他控件的情况下移除焦点

我喜欢我的UI直观; 每个屏幕应该自然而不引人注目地引导用户进入应用程序的下一步.除此之外,我努力使事情变得混乱和混乱.

开玩笑 :-)

我有三个TableRows,每个包含一个只读和不可聚焦的EditText控件,然后是一个右边的按钮.每个按钮启动相同的活动但具有不同的参数.用户在那里进行选择,子活动结束,EditText用用户的选择填充适当的.

这是经典的级联值机制; 每个选择都会缩小下一个选择的可用选项等.因此,我将禁用每个下一行的两个控件,直到当前行上的EditText包含值.

我需要按照优先顺序做两件事之一:

  1. 单击按钮时,立即移除焦点而不将焦点设置为其他按钮
  2. 活动开始时将焦点设置为第一个按钮

子活动返回后,问题就出现了; 单击的按钮保持焦点.

回复:上面的#1 - 似乎没有removeFocus()方法或类似的东西

回复:上面的#2 - 我可以requestFocus()用来将焦点设置到下一行的按钮,并且在子活动返回后工作,但由于某种原因,它在父活动中不起作用onCreate().

我需要在任一方向上保持UI一致性 - 子活动完成后没有按钮具有焦点,或者每个按钮根据其在逻辑流程中的位置获得焦点,包括在任何选择之前的第一个(也是唯一的)活动按钮.

android android-layout

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

如何在Android中检测向左或向右滑动?

EditText在android中有一个视图.在此,我想检测向左或向右滑动.我可以使用下面的代码在空白区域获取它.但是当我滑动时,这不起作用EditText.我怎么做?如果我做错了,请告诉我.谢谢.

使用代码:

switch (touchevent.getAction())
{
    case MotionEvent.ACTION_DOWN:
    {
        oldTouchValue = touchevent.getX();
        break;
    }
    case MotionEvent.ACTION_UP:
    {
        float currentX = touchevent.getX();
        if (oldTouchValue < currentX)
        {
            // swiped left
        }
        if (oldTouchValue > currentX )
        {
            swiped right
        }
    break;
    }
}
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext

83
推荐指数
6
解决办法
14万
查看次数

从软键盘拦截后退按钮

我有几个输入字段的活动.当活动开始时,显示软键盘.当按下后退按钮软键盘关闭并关闭活动时,我需要再次按下后退按钮.

所以问题是:是否有可能拦截后退按钮关闭软键盘并在一次按下后退按钮完成活动而不创建自定义InputMethodService

PS我知道如何在其他情况下拦截后退按钮:onKeyDown()或者onBackPressed()在这种情况下它不起作用:只有第二次按下后退按钮被拦截.

android

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

软键盘上的自动折叠ActionBar SearchView关闭

我目前正在使用ActionBar菜单项在操作栏中显示SearchView.当搜索菜单项被展开时,显示软键盘,这就是我想要的.现在,当用户按下后退按钮关闭软键盘时,我还想在操作栏中折叠SearchView.

我尝试在MenuItem和ActionView上实现以下侦听器OnKeyListener和OnFocusChangeListener.我也尝试在Activity中使用OnBackPressed().以上都没有检测到后退按钮用于关闭软键盘的时间.

有任何想法吗?

我已经实现了OnActionExpandListener来了解SearchView何时可见.

android android-softkeyboard android-actionbar

76
推荐指数
3
解决办法
4万
查看次数

在EditText上禁用键盘

我正在做一个计算器.所以我Buttons用数字和函数做了我自己的.必须计算的表达式是在一个EditText,因为我希望用户也可以在表达式的中间添加数字或函数,所以EditText我有cursor.但我想Keyboard在用户点击时禁用EditText.我发现这个例子可以Android 2.3,但是ICS禁用Keyboard了光标和光标.

public class NoImeEditText extends EditText {

   public NoImeEditText(Context context, AttributeSet attrs) { 
      super(context, attrs);     
   }   

   @Override      
   public boolean onCheckIsTextEditor() {   
       return false;     
   }         
}
Run Code Online (Sandbox Code Playgroud)

然后我NoImeEditText在我的XML文件中使用它

<com.my.package.NoImeEditText
      android:id="@+id/etMy"
 ....  
/>
Run Code Online (Sandbox Code Playgroud)

如何使这个EditText与ICS兼容??? 谢谢.

keyboard android android-edittext android-4.0-ice-cream-sandwich

62
推荐指数
11
解决办法
8万
查看次数

OnClick事件仅在edittext上第二次运行

我有一个edittext,当用户点击这个edittext时,我想显示一个alertdialog.
我的代码如下:

            edt.setInputType(InputType.TYPE_NULL);
            edt.setFocusableInTouchMode(true);
            edt.requestFocus();

            edt.setCursorVisible(false);

            edt.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    CommentDialog.buildDialog(mContext, identifier, false, edt.getId());
                }
            });
Run Code Online (Sandbox Code Playgroud)

我不希望在用户单击edittext时显示键盘,因此我将inputtype设置为TYPE_NULL.
但是当edittext没有焦点并且我单击它时,onClick事件不会被执行.当我再次单击它时,alertdialog会正确显示.

我该如何解决?

android

53
推荐指数
5
解决办法
3万
查看次数