Ich kann FragmentPagerAdapter in Android.App nicht finden.
Ich möchte die Fragmente von Android.Support.V4.App nicht verwenden, da meine Ziel-API 14 und höher ist (Android 4.0 und höher). Ich möchte also einfach nur Android.App.Fragments und die dazugehörigen Klassen verwenden.
Ich habe es nur in Android.Support.V4.App gefunden, aber das reicht mir nicht aus. B / c Ich versuche, Android.App.Fragments (nicht Android.Support.V4.App.Fragments) und dort zu verwenden Verwandte Klassen in Android.App (nicht Android.Support.V4.App) und mein Code werden nicht kompiliert, wenn ich meinen Pager von FragmentPagerAdapter ableite, wenn er aus der Support-Bibliothek stammt, da sich der Typ zwischen Android.App und Android.Support nicht übereinstimmt .V4.App.
Genau wie in diesem Fall Kann nicht in android.app.Fragment umgewandelt werden. Gibt es eine "normale" Pager-Klasse (PagerAdapter), die ich anstelle von FragmentPagerAdapter oder etwas anderem verwenden sollte (genau wie Sie es von normaler Aktivität ableiten und nicht von FragmentActivity)? beim Targeting von API 11 oder höher).
Hier ist der Beispielcode, mit dem ich arbeite (die Datei FragmentPagerSupport.cs in der Support4.sln-Lösung aus den MonoDroid-Beispielen unter https://github.com/xamarin/monodroid-samples/tree/master/Support4 ).
Ich habe die Zeilen, die auf Android.Support.V4.App verweisen, auskommentiert und durch Code ersetzt, der auf Android.App verweist. Es gibt keinen FramePagerAdapter außerhalb von Android.Support.V4.App, den ich finden konnte und den ich wirklich brauche.
Vielen Dank.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
//using Android.Support.V4.App;
//using Android.Support.V4.View;
namespace Support4
{
[Activity (Label = "@string/fragment_pager_support")]
[IntentFilter (new[]{Intent.ActionMain}, Categories = new[]{ "mono.support4demo.sample" })]
//public class FragmentPagerSupport : FragmentActivity
public class FragmentPagerSupport : Activity
{
const int NUM_ITEMS = 10;
MyAdapter adapter;
ViewPager pager;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView(Resource.Layout.fragment_pager);
//adapter = new MyAdapter(SupportFragmentManager);
adapter = new MyAdapter(FragmentManager);
pager = FindViewById<ViewPager>(Resource.Id.pager);
pager.Adapter = adapter;
var button = FindViewById<Button>(Resource.Id.goto_first);
button.Click += (sender, e) => {
pager.CurrentItem = 0;
};
button = FindViewById<Button>(Resource.Id.goto_last);
button.Click += (sender, e) => {
pager.CurrentItem = NUM_ITEMS - 1;
};
}
// ?????????????????????????????????????????????????
// - where is FragmentPagerAdapter
// ?????????????????????????????????????????????????
protected class MyAdapter : FragmentPagerAdapter
{
public MyAdapter(FragmentManager fm) : base(fm)
{
}
public override int Count {
get {
return NUM_ITEMS;
}
}
public override Fragment GetItem (int position)
{
return new ArrayListFragment(position);
}
}
protected class ArrayListFragment : ListFragment
{
int num;
public ArrayListFragment()
{
}
public ArrayListFragment(int num)
{
var args = new Bundle();
args.PutInt("num", num);
Arguments = args;
}
public override void OnCreate (Bundle p0)
{
base.OnCreate (p0);
num = Arguments != null ? Arguments.GetInt("num") : 1;
}
public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var v = inflater.Inflate(Resource.Layout.fragment_pager_list, container, false);
var tv = v.FindViewById<TextView>(Resource.Id.text);
tv.Text = "Fragment #" + num;
return v;
}
public override void OnActivityCreated (Bundle p0)
{
base.OnActivityCreated (p0);
ListAdapter = new ArrayAdapter<string>(Activity, Android.Resource.Layout.SimpleListItem1, Cheeses.cheeseStrings);
}
public override void OnListItemClick(ListView l, View v, int position, long id) {
Console.WriteLine ( "Item clicked: " + id);
}
}
}
}
android.support.v13.app.FragmentPagerAdapter
. Ich bin mir nicht sicher, ob das dir helfen wird, aber ...