활동이 시작될 때 소프트 키보드 표시
A와 B의 두 가지 활동이 있습니다. A가 시작되면 조건을 확인하고 참이면 startActivityForResult()
B를 시작 하도록 호출 합니다. B는 텍스트 입력 만 받으므로 B가 시작될 때 소프트 키보드가 자동으로 팝업되는 것이 합리적입니다. 활동이 시작되면 EditText에 이미 포커스가 있고 입력 할 준비가되었습니다.
문제는 B windowSoftInputMode="stateAlwaysVisible"
에 대한 <activity>
태그 아래의 매니페스트에 설정된 경우에도 키보드가 표시되지 않는다는 것 입니다. 또한 값을로 설정했습니다 stateVisible
. 자동으로 표시되지 않으므로 EditText를 탭하여 표시해야합니다.
누구든지 해결책이 무엇인지 알고 있습니까?
나에게 가장 잘 맞는 것은 활동 B 추가에 대한 Android Manifest에 있습니다.
android:windowSoftInputMode="stateVisible"
그것이 당신에게도 도움이되기를 바랍니다.
가장 쉬운 솔루션 : Put
android:windowSoftInputMode = "stateVisible"
AndroidManifest.xml의 활동 섹션
EditText의 requestFocus가 표시되지 않으면 다음과 같이 할 수 있습니다.
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(mEditText, 0);
봐 여기에 자세한 내용은.
나를 위해이 솔루션 만 작업했습니다. 해당 활동에 대한 매니페스트를 추가하십시오.
android:windowSoftInputMode="stateVisible|adjustPan"
약간 지연된 키보드를 표시해보십시오. 다음과 비슷한 것 :
public void onResume() {
super.onResume();
TimerTask tt = new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourTextBox, InputMethodManager.SHOW_IMPLICIT);
}
};
final Timer timer = new Timer();
timer.schedule(tt, 200);
}
에뮬레이터를 사용하는 경우 소프트 키보드가 표시되도록하려면 하드 키보드를 꺼야합니다.
두 가지 방법이 있습니다.
방법 1. OnCreate 메서드 내에서 다음 코드 사용
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
클릭하지 않으면 키보드가 팝업되지 않습니다.
또는
방법 2 XML에서 "requestfocus"를 사용하여 TextView와 같은 다른보기에서 포커스를 이동할 수 있습니다.
<TextView
android:id="@+id/year_birth_day"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="1991">
<requestFocus />
</TextView>
방법 3 (피할 수 있어야한다고 생각합니다) 매니페스트에서 다음 코드 사용-
android:windowSoftInputMode="stateVisible"
파일 : AndroidManifest.xml
<activity android:name=".MainActivity">
다음 속성을 추가합니다.
android:windowSoftInputMode="stateVisible"
나를 위해 일한.
paste this after setContentView
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
ReferenceURL : https://stackoverflow.com/questions/2466516/show-soft-keyboard-when-activity-starts
'programing' 카테고리의 다른 글
LINQ to SQL을 사용하여 IN 하위 쿼리를 어떻게 처리 할 수 있습니까? (0) | 2021.01.17 |
---|---|
동일한 메서드 서명으로 게시 및 가져 오기 (0) | 2021.01.17 |
선택 및 선택의 어떤 값이 거짓입니까? (0) | 2021.01.17 |
원격 지점에서 병합하기 전에 실제 git diff를 확인하는 방법은 무엇입니까? (0) | 2021.01.17 |
Android-WebView의 로컬 이미지 (0) | 2021.01.17 |