HI,
我使用BaseAdapter编写了GridView,其中包含2列。每个列都有一个图像和Text.It工作顺利。我通过在onConfig中使用下面的代码给了焦点...
public void onConfigurationChanged(Configuration newConfig) {
gridview.requestFocusFromTouch();
gridview.setSelection(0);
}
当我的视图配置发生更改时,它可以正常工作。但是相同的方法在onCreate()方法中不起作用。 我在onCreate()中使用了以下所有方法但是我的视图没有得到焦点。如何在运行我的应用程序时为第一个图像提供焦点。我希望在视图在设备上膨胀时关注第一个图像。请给我指导? / p>
gridview.requestFocus();
gridview.requestFocusFromTouch();
gridview.setSelected(true);
gridview.setSelection(0);
gridview.setFocusable(true);
gridview.setFocusableInTouchMode(true);
gridview.setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
此致 Rajendar是
答案 0 :(得分:3)
这对我有用。
mGridView.setSelection(iPos-1);
mGridView.requestFocusFromTouch();
mGridView.setSelection(iPos-1);
未知原因必须两次:
答案 1 :(得分:1)
也许,你可以这样做:
“睡觉”一点时间
Thread.sleep(1);
gridview.requestFocusFromTouch();
gridview.setSelection(position);
答案 2 :(得分:1)
我设法通过调用mGridView.setSelected(true)来做到这一点;在onResume() 通过这种方式,我的第一个元素得到了选择。
现在我正在寻找如何设置随机元素选择的方法