誰かが私にフォーカスに関連するイベントを提案できますEditText
か?私のアプリケーションにEditText
は、URLを受け入れるが含まれています。
ここでの問題は、ユーザーがフィールドにURLを入力してさらに移動した後、クリックイベントなしで、つまりフォーカスがから移動したEditText
ときに、入力されたURLを検出してサーバーに移動することです。
Json Parsingを使用して返信が得られれば、さらに便利です。
誰かが私にフォーカスに関連するイベントを提案できます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のsetOnFocusChangeListenerでEditTextを見つけます。
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();
}
}
});
正常に動作します。
この上記の有効なソリューションが機能しない私たちのために、ここには別の回避策があります
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();
}
}
});