0

当活动加载并调出软键盘时,我想立即突出显示特定编辑框。我怎样才能做到这一点?onStart() 中也应该有任何内容吗?

4

4 回答 4

0

执行 findViewByID() 后,您可以在视图上调用 : requestFocus()

您可以在 onStart 中执行此操作 - 我现在看到它不起作用的原因。

也在这里检查:

http://developer.android.com/reference/android/view/View.html

于 2012-07-06T20:59:13.740 回答
0

使用getSystemService(...), 在这种情况下可以获得 ,Context.INPUT_METHOD_SERVICE请查看下面的代码示例以进行说明:

InputMethodManager imm = (InputMethodManager)context.getSystemService(
                            Context.INPUT_METHOD_SERVICE);

imm.showSoftInput(edittext, 0, null);
于 2012-07-06T20:59:36.383 回答
0

在您的布局中将</requestFocus>标签放在EditText.

onStart()通话中

getDialog().getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
于 2012-07-06T21:01:49.720 回答
0

理想情况下,这应该有效。

 <EditText
                android:id="@+id/Abc"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">
                <requestFocus />
            </EditText>

但是有一些已知的键盘没有弹出的问题。看到这个

您也可以使用 Runnable 执行此操作:

public class MyActivity extends Activity {
 private Handler mHandler= new Handler();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            // get text
                mHandler.post(new Runnable() {
            public void run() {
                text.requestFocus();                

            }
        });

        }
} 
于 2012-07-06T21:01:54.743 回答