1

レイアウト2(8つの画像ボタンを含む)からレイアウト2(ImageView)に移動しようとしましたが、それでも目的のレイアウトに接続できませんでした。コードに何か遅れがあると思いますが、欠落している条件を取得できませんでした。

現在のレイアウトは explored_homie.xml です

Layout2 Java コード:

setContentView(R.layout.explored_homie);
gallery1 = (ImageButton)findViewById(R.id.gallery1);

gallery1.setOnClickListener(new OnClickListener() {

    public void onClick(View v) {
        switch (v.getId()) {
          case R.id.gallery1:
               setContentView(R.layout.gallery_layout);
               break;
         case R.id.upcoming1:
             setContentView(R.layout.rough);
             break;

次のレイアウトを呼び出す必要があります: gallery_layout.xml

Layout1にはクリックすると画像ボタンが含まれているだけで、8つの画像ボタンを含むexplored_homie layout2に移動し、上記のlayout2(explored_homie)からボタンギャラリー(id: gallery1)にアクセスしようとしましたが、まだできません目的のページに移動するには、誰かがこれを修正するのを手伝ってくれますか?

4

2 に答える 2

1

1 つのアクティビティで setcontentview を複数回呼び出すことはお勧めできません。簡単なアプローチは、両方のレイアウトを同じ xml に配置し、一方が可視性を失い、必要に応じて可視性を切り替えることです。もちろん、これは醜い方法です。よりエレガントな方法は、ある種のビュー スイッチャーまたはおそらく Fragments API を使用することです (レイアウトごとに 1 つずつ 2 つのフラグメントを作成し、FragmentManager を使用してビューを変更します)。

于 2012-10-02T18:24:11.950 に答える
0

代わりに LayoutInfalter クラスを使用する必要があります。次に、ビューを削除する場合は、コード内で removeView() メソッドを使用します。

于 2012-10-02T18:38:24.603 に答える