1

タブレイアウトに関するGoogleのチュートリアルをテストしていたタブ付きアプリケーションを作成しています。エミュレーターで hellotabwidget を正常に実行できますが、Eclipse のグラフィカル レイアウト エディターで main.xml ファイルを表示すると、タブが表示されず、コンテンツが表示されます。ある種のことを示しているだけです

したがって、グラフィカルエディターでボタンやその他のものを作成したタブに追加するためにグラフィカルエディターを使用することはできません。グラフィカルエディターでそれらを表示できないからです。

これに関して誰でも助けてくれますか。

4

1 に答える 1

2

あなたがこの質問についてコメントしているように、あなたは誤解されていますTabHostここでは、いくつかの説明を提供します。

タブホスト

タブ付きウィンドウ ビューのコンテナー。このオブジェクトは、ユーザーが特定のタブを選択するためにクリックする一連のタブ ラベルと、そのページのコンテンツを表示する FrameLayout オブジェクトの 2 つの子を保持します。個々の要素は通常、子要素自体に値を設定するのではなく、このコンテナー オブジェクトを使用して制御されます。

タブウィジェット

親のタブ コレクション内の各ページを表すタブ ラベルのリストを表示します。このウィジェットのコンテナ オブジェクトは TabHost です。ユーザーがタブを選択すると、このオブジェクトは親コンテナーである TabHost にメッセージを送信して、表示されるページを切り替えるように指示します。通常、このオブジェクトに対して多くのメソッドを直接使用することはありません。コンテナー TabHost は、ラベルの追加、コールバック ハンドラーの追加、およびコールバックの管理に使用されます。このオブジェクトを呼び出して、タブのリストを反復処理したり、タブ リストのレイアウトを微調整したりできますが、ほとんどのメソッドは、含まれている TabHost オブジェクトで呼び出す必要があります。


そして、重要なのは下の画像でTabWidget、タブを直接作成するためのボタンをそこにドラッグアンドドロップすることはできません。

画像

感嘆符はエラーではありません。それが tabwidget のシンボルです。以下のコードを見てください -

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

        TabHost tabHost = getTabHost();

        // Tab for Photos
        TabSpec photospec = tabHost.newTabSpec("Photos");
        // setting Title and Icon for the Tab
        photospec.setIndicator("Photos", getResources().getDrawable(R.drawable.icon_photos_tab));
        Intent photosIntent = new Intent(this, PhotosActivity.class);
        photospec.setContent(photosIntent);

        // Tab for Songs
        TabSpec songspec = tabHost.newTabSpec("Songs");
        songspec.setIndicator("Songs", getResources().getDrawable(R.drawable.icon_songs_tab));
        Intent songsIntent = new Intent(this, SongsActivity.class);
        songspec.setContent(songsIntent);

        // Tab for Videos
        TabSpec videospec = tabHost.newTabSpec("Videos");
        videospec.setIndicator("Videos", getResources().getDrawable(R.drawable.icon_videos_tab));
        Intent videosIntent = new Intent(this, VideosActivity.class);
        videospec.setContent(videosIntent);

        // Adding all TabSpec to TabHost
        tabHost.addTab(photospec); // Adding photos tab
        tabHost.addTab(songspec); // Adding songs tab
        tabHost.addTab(videospec); // Adding videos tab
    }
}

コメント行から、タブを作成する方法を理解できます。アクティビティに対してのみTabActivityを拡張することにより、上記のコードを使用できます。

この基本的な例を見てください

これらの説明がお役に立てば幸いです。

于 2012-06-14T04:34:31.513 に答える