누구든지의 초점과 관련된 이벤트를 제안 할 수 있습니까 EditText
? 내 응용 프로그램에는 EditText
URL이 허용되는가 포함되어 있습니다 .
이제 내 문제는 사용자가 클릭 이벤트없이 필드에 URL을 입력하고 추가로 이동 한 후, 즉 포커스가에서 이동 EditText
할 때 입력 한 URL을 감지하고 서버로 이동한다는 것입니다.
Json Parsing을 사용하여 답장을 받으면 더 편리합니다.
답변
다음은 포커스 리스너 예입니다.
editText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
if (hasFocus) {
Toast.makeText(getApplicationContext(), "Got the focus", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Lost the focus", Toast.LENGTH_LONG).show();
}
}
});
답변
-
클래스 위에 EditText 객체를 선언하십시오.
EditText myEditText;
-
onCreate 함수에서 EditText를 찾고 EditText의 setOnFocusChangeListener를 찾으십시오.
myEditText = findViewById(R.id.yourEditTextNameInxml); myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean hasFocus) { if (!hasFocus) { Toast.makeText(this, "Focus Lose", Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(this, "Get Focus", Toast.LENGTH_SHORT).show(); } } });
잘 작동합니다.
답변
kotlin에있을 때 다음과 같이 보일 것입니다 :
editText.setOnFocusChangeListener { view, hasFocus ->
if (hasFocus) toast("focused") else toast("focuse lose")
}
답변
위의 유효한 솔루션으로 작동하지 않은 사람들에게는 여기에 다른 해결 방법이 있습니다.
searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean isFocused) {
if(!isFocused)
{
Toast.makeText(MainActivity.this,"not focused",Toast.LENGTH_SHORT).show();
}
}
});