EditText의 Android 키보드 다음 버튼 문제
문제가 발생했습니다. 활동에 사용자 이름 및 비밀번호 필드가 있습니다. 이제 사용자 이름 키보드를 클릭하면 표시되지만 다음 버튼이 표시되지 않고이 경우 키보드를 통해 다음 편집 텍스트 컨트롤로 이동할 수 없습니다.이 경우 키보드에 Enter 버튼이 표시됩니다. 높이를 높이는 스크린 샷에 첨부 된
누구든지이 문제에 대한 해결책이 무엇인지 안내 할 수 있습니까 (edittext에 다음 버튼 표시)?
내 코드
txtUserid = (EditText)findViewById(R.id.txtUserID);
txtUserPasword = (EditText)findViewById(R.id.txtPassword);
txtUserid.setNextFocusDownId(R.id.txtPassword);
txtUserPasword.setNextFocusDownId(R.id.btnLogin);
제공 한 코드 줄 아래에 다음 줄을 추가하십시오.
txtUserid.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
txtUserid.clearFocus();
txtUserPasword.requestFocus();
return true;
}
return false;
}
});
txtUserPasword.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_ENTER))
{
// Perform action on Enter key press
// check for username - password correctness here
return true;
}
return false;
}
});
android:singleLine="true" android:nextFocusDown="@+id/textView2"
XML에 추가 하십시오. 다음 키를 표시하고 다음 필드에 초점을 맞 춥니 다.
레이아웃에서 android:imeOptions="actionNext"
처음 세 개의 텍스트 상자와 android:imeOptions="actionDone"
마지막 텍스트 상자에 대한 XML 속성 을 설정하기 만하면됩니다 .
귀하의 경우 글고 치기가 만 1 라인을 가지고있는 속성을 추가하도록되어 android:singleLine="true"
당신의 XML에, 그 Enter 키를 제거하고 그것을 대체 할 다음 / 완료 버튼을 클릭합니다.
또 다른 최상의 솔루션은 다음과 같습니다.
android:singleLine="true"
android:imeOptions="actionNext"
xml 레이아웃을 추가하십시오.
4 개의 edittext를 연속으로 원하므로 처음 세 개의 editext u가 아래에 설정되어 있다고 가정합니다.
android:imeOptions="actionNext"
그리고 마지막 하나의 editext u set
android:imeOptions="actionDone"
u 추가 라인 그래서 추가, 사용
android:singleLine="true"
이 속성을 사용하십시오.
android:inputType="textPersonName"
다음 몇 가지 사항을 처리해야합니다.
- 추가
android:singleLine="true"
. android:nextFocusDown="@+id/tv2"
XML에 추가 하십시오.- 추가하지 마십시오
android:imeOptions="actionNext"
. 그렇지 않으면 위의 두 속성이 재정의됩니다.
레이아웃 XML의 EditText 태그에 android : singleLine = "true"를 추가하기 만하면됩니다.
android : singleLine = "true"만 추가하면 해당 코드가 필요하지 않습니다.
더하다
android : inputType = "text"
edittext 태그의 줄. 문제가 해결됩니다.
android:singleLine="true"
더 이상 사용되지 않습니다
사용하다
android:maxLines="1"
android:inputType="text"
대신
참고 URL : https://stackoverflow.com/questions/9003166/android-keyboard-next-button-issue-on-edittext
'programing tip' 카테고리의 다른 글
NULL 필드 CONCAT (0) | 2020.12.06 |
---|---|
std :: string을 벡터로 분할하는 올바른 방법 (0) | 2020.12.06 |
JavaScript를 사용하여 HTML 16 진수 색상 코드를 무작위로 생성하는 방법은 무엇입니까? (0) | 2020.12.06 |
프로그래밍 방식으로 UIsegmentedControll을 어떻게 전환합니까? (0) | 2020.12.06 |
Laravel에 등록 된 경로 경로 목록을 얻는 방법은 무엇입니까? (0) | 2020.12.06 |