FragmentActivity mới hiển thị một đoạn với một vài nút trên đó. Khi bạn bấm vào một trong các nút, FragmentActivity sẽ hiển thị một đoạn mới với một số trường editText. Tôi dường như không thể nhận được bàn phím đầu vào mềm để hiển thị khi đoạn mới của tôi với các trường editText được hiển thị.SoftKeyboard không hiển thị cho Fragment
Sử dụng cửa sổPhương thức đầu vào trên tệp kê khai xuất hiện như hiển thị bàn phím ngay lập tức.
android:windowSoftInputMode="stateUnchanged"
Tôi đã cố gắng sử dụng
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
vô ích. Đây là cách tôi hiển thị các đoạn mới từ Hoạt động của tôi:
public void clickHandler(View view) {
switch (view.getId()) {
case R.id.login:
loginFragment = new LoginFragment();
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
transaction.replace(R.id.fragment_container, loginFragment);
transaction.addToBackStack(null);
transaction.commit();
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
break;
...
Tôi cũng đã cố gắng gọi setSoftInputMode từ bên trong onCreate của đoạn và điều đó đã không làm việc là tốt. Nghĩ rằng đó là vấn đề về thời gian tôi đã thử với handler.postDelayed và điều đó cũng không có tác dụng. Nó trông giống như sau:
onResume...
Handler handler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
}
};
handler.postDelayed(runnable, 1000);
Mọi trợ giúp sẽ được đánh giá cao. Cảm ơn.
Tôi biết điều này là cũ, nhưng để tham khảo trong tương lai : Tôi tin rằng Window.setSoftInputMode phải được thực hiện một lần trong OnCreate của Activity, vì sau này nó dường như không có hiệu lực. Trong quá trình hoạt động, InputMethodManager phải được sử dụng để thay đổi. – ProjectJourneyman