如何判断EditText是否有焦点

如何判断EditText是否有焦点,第1张

判断一个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无法获取焦点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9570931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存