2011-10-12 81 views
1

我在我的布局中有一个EditText和一组按钮。 要从EditText中删除自动对焦,我正在使用一个虚拟的LinearLayout,正如本网站的一些答案中所述。从EditText删除自动对焦并重新获得焦点?

我想让编辑文本专注于按下按钮并显示虚拟键盘。 但在第一个按钮上按下编辑文本获得焦点,但虚拟键盘只显示按钮后再次按下。well问题有点不同,但任何想法?这是林上按一下按钮做:

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" /> 

如果我不写这个虚拟的线性布局或使可聚焦的标签,假键盘显示上月1日只点击。

回答

3

让我们试着设置在你的XML本身以下属性的EditText

机器人:focusableInTouchMode = “真” 机器人:cursorVisible = “假”。 。

我希望它可以解决你的问题,如果你想要隐藏的softkeypad本身在开展活动意味着使用下面的代码在你的活动 getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

+0

thnx我做了假布局focusableintouch为假和编辑文本focusableintouch为真!有效 – Gaurav

0

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