当我在edittext中失去焦点或在布局中单击空白空间时我尝试动作但如果我有1个edittext则它不会工作。
我在Main.java中的代码
editText.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(!hasFocus){
Toast.makeText(getApplicationContext(), "DONE", Toast.LENGTH_SHORT).show();
}
}
});
这是我的XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
tools:context="com.example.pollk.Main" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="34dp"
android:ems="10" >
<requestFocus />
</EditText>
答案 0 :(得分:0)
在xml文件中添加android:focusableInTouchMode="true"
答案 1 :(得分:0)
android:focusable="true" android:focusableInTouchMode="true"
OnClickListener
,这样您就可以在空白处单击时收到点击事件。答案 2 :(得分:0)
我有疑问。所以我试试这段代码。
edit.setOnFocusChangeListener(new OnFocusChangeListener(){
@Override
public void onFocusChange(View v, boolean hasFocus) {
// TODO Auto-generated method stub
if(!hasFocus){
Toast.makeText(getApplicationContext(), "DONE", Toast.LENGTH_SHORT).show();
}
}});
final RelativeLayout layout1=(RelativeLayout)findViewById(R.id.hidebg);
layout1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
}
});
它为我工作但这是一个正确的解决方案?因为我声明了onclick功能,但我没有使用它。