Je gonfle une mise en page qui contient un bouton image. J'essaye d'assigner un événement à l'imageButton de sorte que chaque fois qu'il est cliqué, il fait le travail. Voici mon code (en C#):Obtenir "une référence d'objet est nécessaire pour accéder au membre non statique" dans la mise en page
public class HomeScreenAdapter : BaseAdapter<TableItem>
{
List<TableItem> items;
Activity context;
public HomeScreenAdapter(Activity context, List<TableItem> items)
: base()
{
this.context = context;
this.items = items;
}
public override long GetItemId(int position)
{
return position;
}
public override TableItem this[int position]
{
get { return items[position]; }
}
public override int Count
{
get { return items.Count; }
}
public override View GetView(int position, View convertView, ViewGroup parent)
{
var item = items[position];
View view = convertView;
if (view == null) // no view to re-use, create new
view = context.LayoutInflater.Inflate(Resource.Layout.ticket_news, null); view.FindViewById<ImageView>(Resource.Id.Image).SetImageBitmap(item.imageBitmap);
view.FindViewById<ImageButton>(Resource.Id.imageButton2).Click += delegate
{
Intent sharingIntent = new Intent(Intent.ActionSend);
sharingIntent.SetType("text/plain");
sharingIntent.PutExtra(Intent.ExtraText, "Message");
StartActivity(Intent.CreateChooser(sharingIntent, "Share via")); // here where I am getting the error
PackageManager pm = PackageManager; // and here I am getting the same error again
};
return view;
}
}
Une référence d'objet est nécessaire pour accéder à champ non statique 'ContextWrapper.SartActivity (intention)'
Pourquoi suis-je recevoir cette erreur et comment le résoudre? Merci
Essayez d'utiliser la référence de contexte pour démarrer une nouvelle activité comme context.StartActivity (....); –
Merci, ça a marché! Si je veux initialiser le gestionnaire de paquets comme ceci: 'PackageManager pm = PackageManager;' Je reçois la même erreur que pour 'StartActivity'. Comment celui-ci peut-il être résolu? –
Pouvez-vous s'il vous plaît partager ce code ici, donc je vais vérifier et vous faire savoir, mais vous devez accepter et comme je le suggère par commentaire afin qu'il puisse aider d'autres vous résoudre le même problème. –