有没有人能给我一些关于 EditText焦点的建议? 我的应用程序包含一个 EditText,它接受其中的 URL。
EditText
现在我的问题是,当用户在字段中输入 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(); } } });
对于我们这些谁上述有效的解决方案没有工作,有另一个工作在这里
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(); } } });
在类的顶部声明 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(); } } });
很好用。
在 Kotlin,情况会是这样的:
editText.setOnFocusChangeListener { _, hasFocus -> if (hasFocus) { toast("focused") } else { toast("focuse lose") } }