我试图强制数字键盘在我的活动和EditText加载时显示。似乎在here和其他位置给出了一个非常简单的答案:您说

EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);


那好所以我这样做,我包括进口:

import android.content.Context;
import android.os.Bundle;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;


但是当我们进入showSoftInput时,Studio变成红色,并说“无法解析符号showSoftInput”。导入InputMethodManager时不应该得到那个符号吗? showSoftInput doesn't seem to be deprecated或其他任何内容。

最佳答案

键盘未打开,因为需要一些延迟,

遵循此代码

public class MainActivity extends AppCompatActivity {

    private EditText editText;
    private Handler handler = new Handler();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = (EditText) findViewById(R.id.editText);
       /* */

    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            editText.requestFocus();
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
        }
    },100);
    }
}


和XML

 <EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:focusable="true"
    android:inputType="number"
    android:text="">

    <requestFocus></requestFocus>
</EditText>

关于java - 无法解析符号showsoftinput,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39593324/

10-09 02:25