0
Могу ли я вызвать активность внутри PagerAdapter?деятельность вызова внутри PagerAdapter
нажмите кнопку внутри public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
я могу это сделать в Xamarin и visulal студии 2013?
public class SamplePagerAdapter : PagerAdapter
{
List<string> items = new List<string>();
public SamplePagerAdapter() : base()
{
items.Add(" All Categories ");
items.Add(" Featured ");
}
public override int Count
{
get { return items.Count; }
}
public override bool IsViewFromObject(View view, Java.Lang.Object obj)
{
return view == obj;
}
public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
View view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.pager_item, container, false);
container.AddView(view);
if (position == 0)
{
view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.pager_item, container, false);
container.AddView(view);
var imgcarbtn = view.FindViewById<ImageButton>(Resource.Id.imgcar);
imgcarbtn.Click += imgcarbtn_Click;
}
else if (position == 1) {
view = LayoutInflater.From(container.Context).Inflate(Resource.Layout.featuredadds, container, false);
}
int pos = position + 1;
Console.Out.WriteLine(pos);
container.AddView(view);
return view;
}
void imgcarbtn_Click(object sender, EventArgs e)
{
activity.StartActivity(typeof(Labas));
//weakactivity(Labas) ;
//throw new NotImplementedException();
}
private WeakReference weakactivity;
private Activity activity
{
get { return weakactivity.Target as Activity; }
set { weakactivity = new WeakReference(value); }
}
public SamplePagerAdapter(Activity activity)
: base()
{
this.activity = activity;
}
public string GetHeaderTitle (int position)
{
return items[position];
}
public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object obj)
{
container.RemoveView((View)obj);
}
}
Приятное использование слабых ссылок! – matthewrdev
не работает здесь публичный класс SamplePagerAdapter: PagerAdapter { – BlueAries
Что мне делать здесь, чтобы вызвать активность, используя weakreference? void imgcarbtn_Click (отправитель объекта, EventArgs e) { // weakactivity (NewActivity); // выбросить новое NotImplementedException(); } – BlueAries