如何通过按钮的 onClick 函数请求将焦点放在 EditText 上?

How to requestFocus on EditText from onClick function of button?

这是我的代码。 焦点未出现在 EditText(命名搜索)上。我在当前布局中没有任何其他 EditText。

    handle.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            search.requestFocus();
        }
    });

尝试将此代码添加到您的 xml!

<EditText
      android:focusable="true"
      <requestFocus />
</EditText>

如果您想让键盘弹出,请尝试此代码

EditText myEditText = (EditText) findViewById(R.id.search);
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
    .showSoftInput(myEditText, InputMethodManager.SHOW_FORCED);

也加入你的Mainfest

<activity android:name=".first" android:windowSoftInputMode="stateAlwaysVisible">

你应该使用

    search.setFocusable(true);
    search.requestFocus();

查看代码:

public class MainActivity extends ActionBarActivity implements View.OnClickListener {
private EditText text1;
private EditText text2;
private Button button1;
private Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    text1 = (EditText)findViewById(R.id.editText);
    text2 = (EditText)findViewById(R.id.editText2);
    button1 = (Button)findViewById(R.id.button);
    button2 = (Button)findViewById(R.id.button2);
    button1.setOnClickListener(this);
    button2.setOnClickListener(this);
}
@Override
public void onClick(View view) {
    if(view.getId() == R.id.button){
        text1.requestFocus();
    }
    else if(view.getId() == R.id.button2){
        text2.requestFocus();
    }
}
}

requestFocus() enough.No 附加属性 "focusable" 集,EditText 添加为默认行为。 您可能忘记添加 "button1.setOnClickListener(this);" 让按钮负责?