2

setContentViewのようなものが必要ですが、現在のレイアウト内のFrameLayoutの場合、main_activityレイアウトに多数のコントロールがあり、そのうちの1つがFrameLayoutであるpageHolderであることを意味します。res / layoutにandroidレイアウトを追加しました。これはpage1と呼ばれるFrameLayoutであり、page2と呼ばれる別のレイアウトです。アプリケーションの実行中にpageHolderのコンテンツをpage1またはpage2のコンテンツに変更したいと思います。

私は次のコードを実行しますが、エラーが発生します:

    FrameLayout pageHolder = (FrameLayout)findViewById(R.id.pageHolder);

    FrameLayout page1 = (FrameLayout)findViewById(R.layout.page1);

    pageHolder.removeAllViews();
    pageHolder.addView(page1);

そして、page1がnullであると表示され、私はそれを自分でチェックしましたが、nullでした。手伝ってくれませんか。

4

1 に答える 1

5

LayoutInflaterそのpage1レイアウトを膨らませるために使用する必要があるように私には思えます。次のようになります。

LayoutInflater inflater = (LayoutInflater)context.getSystemService
  (Context.LAYOUT_INFLATER_SERVICE);
View v = inflater.inflate(R.layout.page1, null);
于 2013-01-24T19:32:15.800 に答える