从EditText中删除自动对焦并重新获得焦点?

时间:2011-10-12 04:38:46

标签: android android-edittext

我的布局中有一个EditText和一组按钮。 要从EditText中删除自动对焦,我在本网站的一些答案中使用虚拟LinearLayout。

我希望编辑文本能够专注于按下按钮并显示虚拟键盘。 但是在第一个按钮上按下编辑文本会获得焦点,但只有在再次按下按钮后才会显示虚拟键盘。问题有点不同但是有什么想法吗?这就是我在点击按钮时所做的事情:

b.setOnClickListener(new OnClickListener() {
    @Override
     public void onClick(View v) {
        // TODO Auto-generated method stub
         mgr.showSoftInput(main_edt,InputMethodManager.SHOW_FORCED);
     main_edt.requestFocus();
        } 
});

这是虚拟线性布局:

<LinearLayout 
    android:focusable="true" 
    android:id="@+id/dummyll"
    android:focusableInTouchMode="true" 
    android:layout_width="0px"
    android:layout_height="0px" />  

如果我不写这个虚拟线性布局或使可聚焦标签为假,键盘只显示第一次点击。

2 个答案:

答案 0 :(得分:3)

让我们尝试在您的xml本身中为EditText设置以下属性

<强>机器人:focusableInTouchMode = “真”     机器人:cursorVisible = “假”

我希望它可以解决您的问题,如果您想要在启动活动时隐藏软键盘本身意味着在您的活动中使用以下代码      。的 getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

答案 1 :(得分:0)

将属性android:windowSoftInputMode="stateHidden"添加到清单中的活动。这样,当您开始活动时,软键盘将不会显示。