1

タブが4つある画面を作りたいです。ただし、最初は最初のタブのみを表示する必要があります。

コンテンツ (フラグメント) のアクションに基づいて、異なるレイアウトの新しいタブを作成する必要があります。これは、何かに適用されるフォーム フォームとしてのアプリケーションと考えてください。したがって、タブはステップ 1、2、3、4 を表します。したがって、ステップ 1 を完了したら、新しいタブを作成するボタンをクリックします。ステップ 2.

以前のタブを維持する必要があるため、アクティビティを起動して実装したくありません。では、フラグメントでボタンのクリックをキャッチし、実行時にタブを追加するにはどうすればよいでしょうか?

4

1 に答える 1

0
create a new tab with different layout

この例を参照 してくださいAndroid ViewPager を 1 つのビューまたはレイアウトのみを含むように設定するにはどうすればよいですか?

質問はあなたとは関係ありませんが、例は有効であり、質問の一部に関連しています

編集済み

これが、フラグメントをタブにリンクする方法です。

class TestFragmentAdapter extends FragmentPagerAdapter {        
        private int mCount = TABS.length;

        public TestFragmentAdapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {

            MainSummary f1 = new MainSummary();
            MainActivity f2 = new MainActivity();

            if(TABS[position].equals("Summary")){
                return f1;
            }else if(TABS[position].equals("Activity")){
                return f2;
            }else{
                return null;
            }
        }

        @Override
        public int getCount() {
            return mCount;
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return TABS[position];
        }
}

そして、フラグメントごとに、R.layout.main_summaryこのように個別のクラスとレイアウト ( )を持つことができます

public final class MainSummary extends ListFragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    super.onCreateView(inflater, container, savedInstanceState);
    View view = inflater.inflate(R.layout.main_summary, container, false); 
    return view; 
}
}

ここにいくつかの便利なサンプル プロジェクトがありますhttps://github.com/github/android これらのサンプルを調べれば、質問のすべての答えを見つけることができます

于 2012-12-03T13:02:08.433 に答える