0

我的滚动布局中有一些编辑文本。在底部,我有一个按钮。

实际上,在每次打开视图时,第一个 editText 都会自动请求焦点。我希望按钮获得焦点。

我试过这个,但没有成功:

final ScrollView s = (ScrollView)findViewById(R.id.ScrollView01);
    s.post(new Runnable() {
       public void run() {
             Button button =(Button) findViewById(R.id.SaveProfileEditingButton);
             button.requestFocus();
       }
    });

谢谢你的帮助。

4

2 回答 2

1

设置android:windowSoftInputMode="stateHidden"为您在AndroidManifest.xml中的活动以隐藏键盘(由于关注 EditText 而打开)。之后您的其他视图可能会获得焦点。


更新

final ScrollView s = (ScrollView)findViewById(R.id.ScrollView01);
s.post(new Runnable() {
       public void run() {
             EditText editText =(EditText) findViewById(R.id.yourEditText);
             (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
                   .hideSoftInputFromWindow(editText.getWindowToken(), 0);

             Button button =(Button) findViewById(R.id.SaveProfileEditingButton);
             button.setFocusable(true);
             button.requestFocus();
      }
});
于 2012-05-02T13:18:37.550 回答
0

您的代码正在运行,但是您如何检查或将焦点设置在 Button 上有何意义。检查它是否工作或不使用

boolean r = btn.requestFocus();
Log.i("Tag", String.valueOf(r));
于 2012-05-02T13:19:37.003 回答