Fragmentの代わりにViewPagerとFragmentActiviy
-
21-12-2019 - |
質問
私は簡単なアプリを持っていました、そして私は今それをより専門的になるように変えました...
今、私のアプリのすべての部分がボタンの下に隠れるのではなくViewPager
に入ることができます。私のアプリの一部は、Activty
を拡張したFileManagerです。これを変更しました。
私の質問は、FragmentActivty
のためのViewPager
の代わりに他の種類のフラグメントを使用することができますか?
私は私のfileManagerをスクラッチからコードするべきです! 代替案はありますか?
編集:このような何かをほとんどこのように作成したいアプリ
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return FragmentClass.newInstance(0, "Page # 1");
case 1:
return FragmentClass.newInstance(1, "Page # 2");
case 2:
return FileDialog.newInstance(2, "FileManager");
//Here is my problam, that says "Type mismatch: cannot convert from FileDialog to Fragment"
//It wants Fragment type
default:
return null;
}
}
. 解決
fragmentActivityはフラグメントではなく、Androidの古いバージョンのフラグメントを使用することを可能にするサポートライブラリの特別なアクティビティです。残念ながら、断片的な破片を視力で置くことはできません。ViewPagerがサポートライブラリにのみ存在するため、viewPagerを使用する予定の場合は、サポートライブラリのフラグメントクラスから派生したクラスはクラスです。
フラグメントを明確にするために、あなたが遭遇する2つの異なるフラグメントスーパークラスがあります(どちらもフラグメントと呼ばれます)。違いは、1つが通常のAndroidライブラリから、もう1つはサポートライブラリからのものです。ViewPagerで使用する場合は、サポートライブラリ(Android.Support.v4.app.fragment)のフラグメントスーパークラスから派生したフラグメントが必要です。
他のヒント
フラグメント自体はスーパークラスであり、さまざまな方法で利用できます。
href="http://developer.android.com/guide/components/fragments.html" rel="nofollow">フラグメントの開発者ドキュメントを実装のために見てください。利用規約のベストプラクティス。あなたがあなたのアプリケーションに非常に特別なライブラリを探していない限り、あなたは車輪を再発明する必要はないはずです。