Tôi có một hoạt động trên Android mà tôi đang sử dụng các tab.Tại sao tôi gặp lỗi khi cố gắng đặt nội dung của tabspec trong android?
public class UnitActivity extends TabActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.unit_view);
TabHost tabHost = getTabHost();
TabSpec spec;
spec = tabHost.newTabSpec("controls");
spec.setIndicator("Control");
spec.setContent(R.layout.unit_control);
tabHost.addTab(spec);
spec = tabHost.newTabSpec("data");
spec.setIndicator("Data");
spec.setContent(R.layout.unit_data);
tabHost.addTab(spec);
}
}
Tuy nhiên khi tôi chạy chương trình nó bị treo với lỗi: "Không thể tạo nội dung tab vì không thể tìm thấy điểm với id 2130903042". Tôi không hiểu vấn đề là gì vì R.layout.unit_data đề cập đến một file layout trong thư mục tài nguyên của tôi (res/layout/unit_data.xml)
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:stretchColumns="*"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Spinner android:id="@+id/unit_num"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/choose_unit"/>
<TableRow android:padding="2dp">
<TextView
android:gravity="right"
android:padding="5dp"
android:text="@string/Power"/>
<TextView android:id="@+id/unit_power"
android:layout_span="3"
android:gravity="center"
android:padding="5dp"
android:background="@android:color/white"
android:textColor="@android:color/black"
android:text="AUTO"/>
</TableRow>
...
</TableLayout>
</ScrollView>
như xa như tôi có thể nói là unit_data.xml được hình thành tốt và thậm chí tôi đã tham chiếu nó thành công trong một hoạt động khác
class UnitData extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.unit_data);
Toast.makeText(this, "Hi from UnitData.onCreate", 5);
}
}
không đưa ra lỗi và hiển thị bố cục tốt.
Điều gì đang xảy ra? Tại sao tôi không thể tham chiếu bố cục này khi tạo tab?
Cảm ơn một lời khuyên. Bạn nói đúng, một phần của vấn đề của tôi là bởi vì tôi đã sử dụng một tham chiếu R.layout (trông rất giống với một tham chiếu id đã ném tôi đi). Tôi cũng nghĩ rằng id được tham chiếu theo cách này phải ở trong chế độ xem được tham chiếu bởi @android: id/tabcontent. Tôi đọc đề cập đến ở nơi khác và thử nghiệm của riêng tôi dường như hỗ trợ nó. – rushinge