在TabHpec的TabSpec中显示XML设计的问题?

时间:2011-07-27 08:10:22

标签: android android-tabhost

我设计了一个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。

1 个答案:

答案 0 :(得分:0)

可能的原因可能是某些标签中缺少Layout_height和layout_width,例如Lower TableRow中的TableRow和TextView。