Android 개발 중 requestfocus()가 잘못된 원인 및 해결 방법
2374 단어 androidrequestfocus
최근 에 회사 프로젝트 를 할 때 자주 문제 가 발생 합 니 다.예 를 들 어 제 가 EditText 와 같은 컨트롤 을 위해 requestfocus()를 설정 할 때 사용 되 지 않 습 니 다.예 를 들 어 로그 인 할 때 저 는 사용자 가 입력 한 비밀 번 호 를 판단 하고 정확 하면 로그 인 합 니 다.오 류 는 비밀 번 호 를 잘못 알 리 고 입력 상자 에 초점 을 맞 추 지만 실제 적 으로 효과 가 없습니다.
package com.example.hfs.requestfocusdemo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private EditText mUserName,mPassWord;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
mUserName= (EditText) this.findViewById(R.id.et_username);
mPassWord= (EditText) this.findViewById(R.id.et_password);
mPassWord.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (!"123456".equals(mPassWord.getText().toString())){
Toast.makeText(this," , ",Toast.LENGTH_SHORT).show();
mPassWord.requestFocus();
}else{
startActivity(new Intent(this,MainActivity.class));
Toast.makeText(this," ",Toast.LENGTH_SHORT).show();
finish();
}
}
}
원인.자 료 를 찾 아 분석 한 결과 다음 과 같은 문제 일 수 있 습 니 다.
Android 가 새로 고침 UI 를 불 러 올 때 는 왼쪽 에서 오른쪽으로,위 에서 아래로 순서 로 불 러 오 는 중 이 며,이때 requestFocus()를 불 러 오 면 이때 전체 화면 을 새로 고침 하지 않 아 requestFocus 가 무효 가 될 수 있 습 니 다.
해결 방법
원인 을 찾 으 면 해결 방법 이 있 으 니 그 에 게 시간 을 늦 추어 라.
mPassWord.postDelayed(new Runnable() {
@Override
public void run() {
mPassWord.requestFocus();
}
}, 500);
이렇게 해서 이 문 제 를 해결 했다.PS:requestFocus()가 잘못된 이유
setVisible(true);
person.requestFocus();
즉,request Focus()는 set Visible(true)의 뒤에 두 어야 한 다 는 것 이다.위 에서 말 한 것 은 소 편 이 소개 한 안 드 로 이 드 개발 에서 requestfocus()가 무효 한 원인 과 해결 방법 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.