0

フラグメントの作成中に問題に直面しました。私のmainActivityでは、このフラグメントを呼び出しています..

Fragment fr = new Article();

FragmentManager fm = getFragmentManager();

FragmentTransaction fragmentTransaction = fm.beginTransaction();

fragmentTransaction.replace(R.id.container, fr);

fragmentTransaction.addToBackStack(null);

fragmentTransaction.commit();

しかし、指定された 2 つのインポートの代わりに supprot.v4 を追加する必要があるため、表示されません。

import android.app.FragmentManager;//correct one
import android.app.FragmentTransaction;

import android.support.v4.app.FragmentManager;// wrong one..
import android.support.v4.app.FragmentTransaction;

フラグメントクラスでは、これをインポートする必要があります

import android.app.Fragment;
//instead of the given below..
import android.support.v4.app.Fragment;

問題が解決したことを知っています..しかし、私はそれらの違いに興味があります。そして、フラグメントを使用するより良い方法は何ですか。私は作成しました

MainActivity which extends Activity そのクラスでは、フラグメントを表示しています。

同僚の 1 人が、 mainActivity を から拡張するように言いましたFragment。そうでなければ、私は多くの問題に直面しなければなりません。の正しい使い方を教えてください。Activityまたは、使用中にmainActivityを拡張することの利点と欠点は何ですかFragments...

前もって感謝します..

4

1 に答える 1

1

ネプスター、それは良い質問です。

2 つの主な違いは、 がandroid.app.Fragment作成前のデバイスをサポートしないことです。したがって、実装するだけでうまく機能しますFragmentActivity

ただし、電話を Android 2 に戻したい場合は、android.support.app.Fragment. 必要に応じて簡単に実行できるので、サポートする必要があるデバイスがわからない場合は、サポートを提供することでベースをカバーすることをお勧めします.

FragmentActivity と Activity の違いは、FragmentActivity では getSupportLoaderManager() と getSupportFragmentManager() を使用できるのに対し、Activity では getLoaderManager() と getFragmentManager() を使用できることです。FragmentActivity に関連付けられたサポート ライブラリが必要かどうかによって、長所と短所が決まります。それが唯一の違いです。FragmentActivity を使用すると、サポート ライブラリを使用できます。

于 2014-06-26T11:43:35.390 に答える