タブのレイアウトを作成しようとしています。チュートリアル コード (以下) を使用していますが、機能しません。LogCat には次のエラーが表示されます。
04-19 19:02:16.297: エラー/AndroidRuntime(455): java.lang.RuntimeException: アクティビティを開始できません ComponentInfo{jusbrz.bakalauras/jusbrz.bakalauras.FilesTabsActivity}: java.lang.RuntimeException: コンテンツにはid 属性が「android.R.id.tabhost」である TabHost
マニフェストに新しいアクティビティを追加しました。
XML:
<?xml version="1.0" encoding="utf-8"?>
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
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="@+id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@+id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
メイン アクティビティでこのコードを使用する:
package jusbrz.bakalauras;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;
public class FilesTabsActivity extends TabActivity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.files_tabs_layout);
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, AllFilesTabActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("Visi").setIndicator("Visi").setContent(intent);
tabHost.addTab(spec);
}
}
では、どこに問題があるのでしょうか。
編集済み
import android.app.TabActivity;
import android.os.Bundle;
public class AllFilesTabActivity extends TabActivity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.all_files_tab_layout);
}
}