判断一个EditText是否右焦点,其实就是给et设置一个onFocusChangeListener监听器。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
superonCreate(savedInstanceState);
setContentView(Rlayoutactivity_main);
EditText et2 = (EditText) findViewById(Ridet2);
final EditText et1 = (EditText) findViewById(Ridet1);
//根据是否有焦点更新背景(这里只是演示使用,其实这种更换背景的效果可以通过Selector来实现)
et1setOnFocusChangeListener(new ViewOnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
Loge("abc", "et1获取到焦点了。。。。。。");
et1setBackgroundResource(Rdrawableshape_edit1); //获取焦点后更改背景色
} else {
Loge("abc", "et1失去焦点了。。。。。。");
et1setBackgroundResource(Rdrawableshape_edit2); //失去焦点后更改背景色
}
}
});
}
}
注意:
1 如果一个界面中,只有一个Et,那么除非手动设置,否则,Et一直有焦点
2 如果有多个Et,那么点击哪个ET,哪个Et就会获取焦点
Edittext 怎么重新获得焦点
<EditText id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:paddingBottom="4">
<requestFocus />
</EditText>
应该是最后一个 <requestFocus />的控件有效。
在android项目中,一进入一个页面, EditText默认就会自动获取焦点。使用如下的方法可以让EditText无法获取焦点。
解决之道:在EditText的父级控件中设置下面的属性
Android:focusable="true"
android:focusableInTouchMode="true"
在window7平台,android studio开发工具下,步骤如下。
1、打开android sutdio并创建一个项目,如下图:
2、打开界面的布局文件,在布局文件中增加一个Edittext的空间,并在EditText的父控件中设置如下属性,即可让EditText无法获取焦点,如下图:
//让编辑框d出来,并显示对谁进行评论
commentEditTextsetFocusable(true);
commentEditTextsetFocusableInTouchMode(true);
commentEditTextrequestFocus();
//打开软键盘
InputMethodManager imm = (InputMethodManager)getActivity()getSystemService(ContextINPUT_METHOD_SERVICE);
immtoggleSoftInput(0, InputMethodManagerHIDE_NOT_ALWAYS);
//让编辑框d出来,并显示对谁进行评论commentEditTextsetFocusable(true);
commentEditTextsetFocusableInTouchMode(true);
commentEditTextrequestFocus();
//打开软键盘
InputMethodManager imm = (InputMethodManager)getActivity()getSystemService(ContextINPUT_METHOD_SERVICE);
immtoggleSoftInput(0, InputMethodManagerHIDE_NOT_ALWAYS); 上面的代码,能够让EditText获取焦点,并d出软键盘,供输入文本内容。特别适用于评论列表之类的场景。
以上就是关于如何判断EditText是否有焦点全部的内容,包括:如何判断EditText是否有焦点、Edittext 怎么重新获得焦点、android开发怎么让edittext无法获取焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)