这个问题似乎被问了很多次,但在尝试了20多个不同的想法后,我仍然有一个问题。
我有一个放大的对话框,它由(从顶部开始)7个微调器和几个edittext组成。微调器和edittext在不同的线性布局上。
当创建对话框时,焦点转到第一个edittext,因为这是对话框下方的某个地方,所以第一个微调器滚动到视图之外。
我需要的是一种方法,使第一个旋转器聚焦或滚动到最上面。
我做了什么?
我已经设置好了: dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
停止显示软键盘(正常工作)
manufacturer = (Spinner) entryView.findViewById(R.id.myyarns_add_dialog_manufacturer_spinner);
manufacturer.setFocusable(true);
manufacturer.setFocusableInTouchMode(true);
manufacturer.requestFocus();这在onPrepareDialog或onCreateDialog中都没有作用
然后我试着设置
weight = (EditText) entryView.findViewById(R.id.myyarns_add_dialog_weight);
weight.clearFocus();其中weight是获得焦点的第一个edittext的id -仍然权重获得焦点。
然后,我尝试将对话框视图滚动到顶部,但没有任何效果
ScrollView scroller = (ScrollView) entryView.findViewById(R.id.myyarns_scroll);
scroller.scrollTo(0, 0);还有什么我能做的吗?
发布于 2013-01-25 20:14:41
对于xml set android:focusable="false"中的所有editText
对于您的第一个微调器集android:focusable="true"
或
以编程方式将焦点设置为所需的字段
https://stackoverflow.com/questions/14521479
复制相似问题