0

現時点では、Android OS が初めてで、フラグメントについて頭を悩ませようとしています - iOS から Android にアプリを作成しているので、これを理解しようとする必要があります!

Eclipse IDE で固定タブのデフォルト設定を使用しました。これにより、3 つのタブが得られます。タブ メニューの名前は変更できますが、別のフラグメントを読み込もうとしてfragment_1います。たとえば、タイトルがクリックされたときfragment_2などです。fragment_3

私はこのコードを見つけました:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_1, container, false);
    TextView dummyTextView = (TextView) rootView.findViewById(R.id.section_label);
    dummyTextView.setText(Integer.toString(getArguments().getInt(ARG_SECTION_NUMBER)));
    return rootView;
}

レイアウトを に変更しましたfragment_1が、x がクリックされたタブである fragment_x をロードするにはどうすればよいですか? これは可能ですか?私はネットを検索しましたが、これまでのところ何も機能していません。

4

2 に答える 2

2

Eclipse を使用してプロジェクトを作成したため、メイン アクティビティに という名前のプライベート クラスが表示されDummySectionFragmentます。そのクラスをガイドとして使用して、3 つの異なるフラグメント (A、B、C) となる 3 つのクラスを作成します。

SectionsPagerAdapter次のメソッドで名前が付けられたクラスもあるはずです

public Fragment getItem(int position){}

メソッドの内容を次のgetItemように変更します

public Fragment getItem(int position) {
    if (position == 0){
       return new MyFragmentA();
    }else if (position == 1){
       return new MyFragmentB();
    }else { // position == 2
       return new MyFragmentC();
    }
}

MyFragmentA/B/C最初のステップで作成したフラグメントはどこにありますか。さらに実験する前に、 Android Fragmentsも参照してください。

于 2013-06-21T09:42:58.490 に答える
0

これを行う必要がある場合は、3 つの異なるフラグメントと、それぞれに 3 つの異なるレイアウトを作成する必要があります。次に、ホスト アクティビティで、それぞれのタブ ボタンのクリックで適切なフラグメントを表示する必要があります。

このチュートリアルを参照して、フラグメントをホスト アクティビティの一部にし、フラグメントを表示および非表示にする方法を学習してください。

ただし、これは Android でタブを使用するための推奨される方法ではありません。iOS スタイルのタブを Android に直接移植すると、ユーザー エクスペリエンスが低下します。タブはActionBarの一部であるか、 ViewPagerを使用してタブ付きスワイプ ビューを実装できます。

詳細については、設計ガイドラインを参照してください。

于 2013-06-21T09:35:42.010 に答える