根据我的应用程序要求,我创建了一个扩展 TabActivity 的活动,添加了选项卡和不同的活动作为这些选项卡的内容。至此一切正常,但我想将搜索功能添加到整个 TabActivity,这意味着搜索是在 TabHost 的顶部完成的,它应该反映所有选项卡内容搜索。
我知道如何将搜索添加到单个活动,但我没有找到任何解决我的问题的方法。
如果您知道执行此操作的任何程序,请建议我。
根据我的应用程序要求,我创建了一个扩展 TabActivity 的活动,添加了选项卡和不同的活动作为这些选项卡的内容。至此一切正常,但我想将搜索功能添加到整个 TabActivity,这意味着搜索是在 TabHost 的顶部完成的,它应该反映所有选项卡内容搜索。
我知道如何将搜索添加到单个活动,但我没有找到任何解决我的问题的方法。
如果您知道执行此操作的任何程序,请建议我。
根据文档 TabActivity 已弃用:
http://developer.android.com/reference/android/app/TabActivity.html
您应该使用 FragmentTabHost 或超级棒的 SherlockActionBar 库。
在您实施其中一种现代方式之后,只需在您的菜单中添加一个 searchView 菜单项,它就会在那里。
在添加标签主机之前,您可以尝试在活动中托管搜索栏,如下面的代码所示。并通过添加文本观察器另外实现搜索功能
public class MyTabActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_xml_with_search_bar);
}
}
tab_xml_with_search_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="Search text"
/>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
</TabHost>