
Android新启动Activity,dialog或者其他窗体中包含EditText, 新启动的activity的焦点默认在EditText上,这时android系统会d出软键盘,挤压activity本来的界面,影响美观。
因此最好在新窗体创建时,在onCreate()方法中将焦点放在另一个view上。
view使用requestFocus()焦点,但是如果让button或者textView之类控件直接使用requestFocus()方法,则无法获取焦点,焦点会依然在editText上。
只能在使用View的requestFocus()方法之前调用下面2个方法,view才可获取焦点:
viewsetFocusable(true);
viewsetFocusableInTouchMode(true);
然后调用 viewrequestFocus()即可获取焦点。
listview的adapter里有个getItemId(int position), 重写这个后,应该可以给listview中每个view赋一个id值,然后根据id可以获取view了,我认为可行,没试过。根据位置获取就可以了,为什么要用id获取?
你好,很高兴为你解答
给要添加的view中设置viewsetTag(index); index就是viewGroup的子view的个数,这样通过getTag()就能获取到index了
~如果你认可我的回答,请及时点击采纳为满意回答按钮
~~手机提问的朋友在客户端右上角评价点满意即可。
~你的采纳是我前进的动力
~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。
listView有个setAdapter的方法是吧,你创建一个adapter继承BaseAdapter 要重写4个方法,期中有个方法是: public View getView(){} 这个方法就你可以解决你的需求,你需要利用该方法中的参数来获取你想要的这个控件然后修改就可以了,你试试吧。
以上就是关于Android View如何获取焦点全部的内容,包括:Android View如何获取焦点、android 如何根据id来获取listview中的view、Android编程之如何取得View的当前位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)