2012-02-08 17 views
1

AndroidおよびJava開発の新機能で、Android開発サイトのタブレイアウトチュートリアルに従っています。私はコードに問題があります。スペルミスがないことを確認するためにコピーパスタの魔法を使うだけで、Iveはチュートリアルに必要なすべてのコードを挿入しました。ここでの問題は... getTabHost()が定義されていないということであるコードです:Android:getTabHost()Error

public class AHActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    Resources res = getResources(); // Resource object to get Drawables 
    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, EvoActivity.class); 

    // Initialize a TabSpec for each tab and add it to the TabHost 
    spec = tabHost.newTabSpec("evolution").setIndicator("Evolution") 
        .setContent(intent); 
    tabHost.addTab(spec); 

    // Do the same for the other tabs 
    intent = new Intent().setClass(this, physActivity.class); 
    spec = tabHost.newTabSpec("physics").setIndicator("Physics") 
        .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(2); 
    } 
    } 

答えて

5

あなたの活動は活動をTabActivityを拡張する必要がありません。

public class AHActivity extends TabActivity { 

注:TabactivitityはFragments

+0

[OK]を学習検討し、最新バージョンでは非推奨、だから私は何とかチュートリアルでそれを逃したが、非推奨の警告の束を得る、ことを更新しました。私はこれらの警告を受けるべきですか?そして私は3.2.1のデバイスにアプリを起動することができますが、クラッシュし、原因を見つける方法がわかりません。 編集:原因を知っているかもしれません。なぜなら、私はマニフェストにアクティビティの情報を追加しなかったからです。私は今、私が最初にやったはずのsdkを約6ヶ月更新して以来見つけられません。 – Rekar

+0

私が言ったように、警告はそこでは合法です。開発システムに接続してデバイスにデプロイする場合は、logcatにエラーメッセージが表示されます。 – kosa

+0

ああ、うわー、今日はそれから外れて。申し訳ありません。私は先に進んで断片を調べ、プログラムを実行している間に私のlogcatをチェックします。ありがとう、私はさらに質問がある場合、病気はこの投稿に返信します。 – Rekar