我在tabhost中遇到自动对焦问题。当我打开该选项卡(使用该edittext)时,我需要显示softinput并将焦点放在editText中,更好地解释下一张图片:
在一个标签中我有这个布局。但是当我打开它时,editText没有获得焦点。当选项卡显示时,我已经完成了将editText打开程序,但它的行为不稳定,只运行了第二次或第三次。
我想要的是自动执行,就像在editText上安装android一样。我现在放了代码:
tab_header.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/AbsoluteLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/search_bar"
android:layout_alignParentTop="true"
android:background="#FF000000"
android:layout_centerVertical="true"
android:orientation="horizontal"
android:paddingTop="6dip"
android:paddingBottom="6dip"
android:weightSum="4.0">
<EditText android:id="@+id/search_field"
android:layout_height="45dip"
android:maxHeight="45dip"
android:layout_width="0dip"
android:layout_weight="3.1"
android:maxLines="1"
android:lines="1"
android:focusable="true"
android:focusableInTouchMode="true"
android:imeOptions="flagNoExtractUi"
android:textSize="18dip"
android:hint="@string/search_hint_text"
android:textColorHint="@color/edit_text_hint_search"
android:background="@drawable/et_search_field"
android:textColor="@color/edit_text"
android:layout_marginLeft="2dip"
android:layout_marginRight="0dip"
android:textColorHighlight="@color/edit_text_highlight" />
<ImageButton android:text="Search" android:src="@drawable/ic_search_normal" android:id="@+id/search_button"
android:layout_width="0dip"
android:layout_height="45dip"
android:layout_weight="0.9"
android:scaleType="fitCenter"
android:layout_alignTop="@+id/search_field"
android:layout_alignBottom="@+id/search_field"
android:background="@drawable/button_generic"
android:layout_marginLeft="6dip"
android:layout_marginRight="2dip"
android:padding="10dip"/>
</LinearLayout>
</RelativeLayout>
然后我把活动变成了一个活动组,但我认为它不是自动对焦的问题,基本上这就是我对该布局的处理方式:
public class SearchListActivity extends ListActivity implements OnScrollListener
{
...
@Override
public void onCreate(Bundle savedInstanceState)
{
...
View v = View.inflate(this, R.layout.tab_header, null);
getListView().addHeaderView(v);
...
}
...
}
感谢阅读,我们将非常感激地阅读所有帮助。
答案 0 :(得分:0)
在OnResume覆盖中添加以下内容:
EditText ET=(EditText) findViewById (R.id.search_field);
ET.requestfocus();
ET.SetText("Your soft input");