我设计了一个TabHost并且它有3个TabSpec,所以我需要为每个TabSpec添加GridView,为我创建的XML设计用于显示GridView并添加如下所示:
创建TabHost:
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, Positions.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("positions").setIndicator("Positions",
res.getDrawable(R.drawable.buy))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, BuyPwr.class);
spec = tabHost.newTabSpec("buypwr").setIndicator("Buy Power",
res.getDrawable(R.drawable.buy))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Trades.class);
spec = tabHost.newTabSpec("trades").setIndicator("Trades",
res.getDrawable(R.drawable.buy))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
第一个TabSpec“位置”的代码
public class Positions extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.posgrid);
}
}
“posgrid.xml”的XML设计
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<TextView android:text="Current Position"
android:layout_width="100dp"
android:layout_column="0"
android:layout_weight="1"/>
<TextView android:text="Buy"
android:layout_width="30dp"
android:layout_column="1"
android:layout_weight="1">
</TextView>
<TextView android:text="Sell"
android:layout_width="30dp"
android:layout_column="2"
android:layout_weight="1">
</TextView>
</TableRow>
<ScrollView android:layout_height="120dp">
<TableLayout android:id="@+id/score_table"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<TextView android:text="Al"
android:layout_width="100dp"
android:layout_column="0"
android:layout_weight="1">
</TextView>
<TextView android:text="1000"
android:layout_width="30dp"
android:layout_column="1"
android:layout_weight="1">
</TextView>
<TextView android:text="2"
android:layout_width="30dp"
android:layout_column="2"
android:layout_weight="1">
</TextView>
</TableRow>
</TableLayout>
</ScrollView>
</TableLayout>
</LinearLayout>
我还在清单文件中添加了活动,如:
<activity android:name=".Positions" android:label="Pos"></activity>
所以我没有得到任何错误,但“posgrid”设计没有在Postions TabSpec中显示,请任何人帮助我。
谢谢, NAG。
答案 0 :(得分:0)
可能的原因可能是某些标签中缺少Layout_height和layout_width,例如Lower TableRow中的TableRow和TextView。