我在標籤視圖中有問題。我必須顯示標籤查看許多導航。例如 。在名爲「銷售」的第一個標籤中,它列出了所有的銷售路線。如果用戶點擊一個路線,則需要按照明智的方式去第一個標籤中的零售商列表。有很多頁面(視圖)可用。安卓標籤視圖
從我它只顯示標籤在第一個視圖,這意味着當它加載選項卡時,它顯示我的銷售路線列表與選項卡視圖。當我點擊銷售路線時,它會顯示零售商,但不會顯示選項卡視圖。
這是我的代碼:tabview.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost">
<LinearLayout android:id="@+id/LinearLayout01"
android:orientation="vertical" android:layout_height="fill_parent"
android:layout_width="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_height="wrap_content" android:layout_width="fill_parent"></TabWidget>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_height="fill_parent" android:layout_width="fill_parent"></FrameLayout>
</LinearLayout>
這是我mainActivity:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tabview);
TabHost t = getTabHost();
TabHost tabHost = (TabHost)findViewById(android.R.id.tabhost);
TabSpec firstTabSpec = tabHost.newTabSpec("tid1");
TabSpec secondTabSpec = tabHost.newTabSpec("tid1");
TabSpec thirdTabSpec = tabHost.newTabSpec("tid1");
/** TabSpec setIndicator() is used to set name for the tab. */
/** TabSpec setContent() is used to set content for a particular tab. */
firstTabSpec.setIndicator("Sales").setContent(new Intent(this,SalesRouteActivity.class));
secondTabSpec.setIndicator("Admin").setContent(new Intent(this,SalesRoutesTab.class));
thirdTabSpec.setIndicator("Setting").setContent(new Intent(this,SalesRoutesTab.class));
/** Add tabSpec to the TabHost to display. */
tabHost.addTab(firstTabSpec);
tabHost.addTab(secondTabSpec);
tabHost.addTab(thirdTabSpec);
}
這是我SalesRouteActivity;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sales_routes);
ArrayList<Object> routeList = getWmRoute();
ArrayList<String> routhPath = new ArrayList<String>();
for(int i = 0; i<routeList.size();i++){
routhPath.add(((WMRoute) routeList.get(i)).getDescription());
}
ArrayAdapter ad = new ArrayAdapter(this,android.R.layout.simple_list_item_single_choice,routhPath);
setListAdapter(ad);
final ListView list=getListView();
list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
list.setItemsCanFocus(true);
list.setTextFilterEnabled(true);
list.setItemChecked(positions,true);
keyword = (String) list.getItemAtPosition(0);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("OK");
menu.add("Cancel");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
Intent showContent = new Intent(getApplicationContext(),ListRetailerActivity.class);
Bundle bundle = new Bundle();
bundle.putString("RouteName", keyword);
showContent.putExtras(bundle);
startActivity(showContent);
return true;
case 1:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
這是零售商零件ListRetailerActivity;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.retailer_list);
Bundle bundle = this.getIntent().getExtras();
String routeName = bundle.getString("RouteName");
setTitle(routeName + " - List Retailer ");
ArrayList<Object> routeList = getWmRoute();
// ArrayList<String> routhPath = new ArrayList<String>();
ArrayList<HashMap<String,String>> alist=new ArrayList<HashMap<String,String>>();
for(int i = 0; i<routeList.size();i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("RetailerCode", ((WMRoute) routeList.get(i)).getDescription());
map.put("RetailerName", ((WMRoute) routeList.get(i)).getBusinessUnit());
alist.add(map);
}
ListView list=getListView();
sd = new SimpleAdapter(this,alist,R.layout.retalier_rows,new String[]{"RetailerCode","RetailerName"},new int[]{R.id.retailerCode,R.id.retailerName});
list.setAdapter(sd);
list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
list.setSelected(true);
list.setSelection(0);
list.setTextFilterEnabled(true);
list.setItemsCanFocus(true);
list.setTextFilterEnabled(true);
list.setItemChecked(positions,true);
keyword = ((WMRoute) routeList.get(0)).getBusinessUnit();
//keyword = (String) list.getItemAtPosition(0);
}
在這裏我必須表明listActivity & TabActivity.How我們可以實現這一點。
所有孩子的活動需要顯示選項卡視圖。
請幫助我如何調用其他XML以導航與選項卡視圖。
在此先感謝。
可以使用的ActivityGroup,下面是一個例子HTTP ://www.anddev.org/code-snippets-for-android-f33/activity-group-t4752.html –
如果我擴展ActivityGroup,那麼我不能使用TabHost tabHost =(TabHost)findViewById(android.R.id。 tabhost); TabHostProvider tabProvider = new CarmeTabProvider(this); \t \t TabHost tabHosts = tabHost.getTabHost(「Sales」); \t \t tabHost.setCurrentView(R.layout.main); \t \t setContentView(tabHost.render()); 。不是嗎? – Piraba