役に立ちましたか?

解決

現在の TabHost例は、Androidデベロッパーサイトでを実行中から一例を防ぐことができます重要なステップを抜けても1つの誤りが含まれております。

まず最初に: HelloTabWidgetクラスに追加されるのonCreate()メソッドでmTabHost呼ばTabHostオブジェクトを使用しようとします。これは無効である、それはtabHostする必要があります。

第二: チュートリアルでは、あまりにものAndroidManifest.xml活動のそれぞれを追加する必要があります詳細を残します。これがないとコードは動作しませんし、あなたが実行しようとするたびに、「強制終了」を取得されます。

他のヒント

私はそのチュートリアルを通過する最後の時間かそこらを過ごしました。

:ここで私が扱っていることそれのための問題と修正です

ステップ2:のあなたの活動を作成する場合は、あなたがマニフェストを介してそれらを作成しない場合、あなたは手動でマニフェストに追加する必要があります。

のAndroidManifest.xmlに以下の行を追加します。

  <activity android:name=".AlbumsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
  <activity android:name=".ArtistsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>
          <activity android:name=".SongsActivity"
                  android:label="@string/app_name"
                  android:theme="@android:style/Theme.NoTitleBar">
        </activity>

ステップ3:のあなたが唯一ic_tab_artists.xmlファイルを作成するように指示されています。あなたにもic_tab_songs.xmlとic_tab_albums.xmlための1つを作成する必要があります。あなただけのic_tab_artists.xmlを複製(または各タブのartists.xmlファイルを使用するようにHelloTabView.javaタブ仕様を変更する)ことができます。

ステップ4:の/のRES /レイアウト/メイン下の最後の行の第三の入力ミス(;代わりに:)を有する

      android:padding="5dp" />
    </LinearLayout>
</TabHost>

ステップ6:の代わりにtabHostのmTabHost呼び出しを使用してタイプミスがあります。それを変更します。

既に最後の行にgetIntent()関数を引用したように、

は適切ではありません。私はちょうどそれのidに基づいてタブを呼び出します。例えばます:

tabHost.setCurrentTabByTag("albums");

また、

android:theme="@android:style/Theme.NoTitleBar"

私はそれを置き換えるならば、私のために動作しません。

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

それが正常に動作します。

すべての3つの活動が行が含まれていない場合は、

の例では、テッドによって補正され、また働きます:

android:theme="@android:style/Theme.NoTitleBar"
あなたは、タブのラベルに加えて、タイトルバーをしたい場合は、

これは便利です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top