Schließen Sie Android ViewPager vom AdapterC#

Ein Treffpunkt für C#-Programmierer
Guest
 Schließen Sie Android ViewPager vom Adapter

Post by Guest »

Ich habe einen View-Pager genau so eingerichtet und ausgeführt, wie ich es möchte. Sobald der Benutzer mit dem Wischen durch die Bilder und Daten fertig ist, muss ich die Ansicht/den Viewpager schließen/verlassen. Ich habe eine Schaltfläche in die Ansicht eingefügt, die im Viewpager enthalten ist, und wenn ich darauf zugreife (klicke), führt sie den Code im Adapter aus, aber ich kann keine Methode zum Schließen der Ansicht/des Viewpagers finden. Mein Adaptercode:

Code: Select all

public class ImageSliderAdapter : PagerAdapter
{
Context _context;
DataSet _MyImages = new DataSet();
public ImageSliderAdapter(Context context, DataSet MyImages)
{
_MyImages = MyImages;
_context = context;
}

public override bool IsViewFromObject(Android.Views.View view, Java.Lang.Object @object)
{
return view == ((LinearLayout)@object);
}

public override int Count
{
get
{
return _MyImages.Tables[0].Rows.Count;
}
}

public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object objectValue)
{
}
public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
View view = container;
var inflater = _context.GetSystemService(Context.LayoutInflaterService) as LayoutInflater;
view = inflater.Inflate(Resource.Layout.image_slider_item, null);
var child = view.FindViewById(Resource.Id.image_slider_item);
child.SetScaleType(ImageView.ScaleType.CenterCrop);
TextView Name = view.FindViewById(Resource.Id.Name);
TextView CellPhone = view.FindViewById(Resource.Id.CellPhone);
TextView HomePhone = view.FindViewById(Resource.Id.HomePhone);
Button MyExit = view.FindViewById(Resource.Id.button_Exit);
MyExit.Click += (o, e) =>
{
// need to exit here/
};
Bitmap image = null;
string Name = "";
string HomePhoneNumber = "";
string CellPhoneNumber = "";
Task.Run(() =>
{
//URL url = new URL(_imageUrls[position]);
byte[] MyPhoto = (byte[])_MyImages.Tables[0].Rows[position]["photo"];
image = BitmapFactory.DecodeByteArray(MyPhoto, 0, MyPhoto.Length); //(Bitmap)_MyImages.Tables[0].Rows[position]["Photo"]; //BitmapFactory.DecodeStream(url.OpenConnection().InputStream);
Name = _MyImages.Tables[0].Rows[position]["name"].ToString();
HomePhoneNumber = _MyImages.Tables[0].Rows[position]["HomePhoneNumber"].ToString();
CellPhoneNumber = _MyImages.Tables[0].Rows[position]["CellPhoneNumber"].ToString();
}).ContinueWith(t =>
{
(_context as Swipe).RunOnUiThread(() =>
{
child.SetImageBitmap(image);
Name.Text = Name;
Home.Text = HomePhoneNumber;
Away.Text = CellPhoneNumber;
});
});
container.AddView(view);
return view;
}
}
Wie schließe ich die Ansicht/den Viewpager und kehre zur letzten Ansicht zurück, bei der es sich um die übergeordnete Ansicht handelt?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post