Como posso iniciair uma atividade de uma class que não seja de atividade?

Eu tenho uma atividade de exibição de mapa que mostra alguns OviewlayItems . No método onTap de uma sobreposition, eu quero ativair uma nova atividade que mostra esta foto de sobreposition como canvas cheia, por exemplo.

Quando eu faço isso dentro da minha class de sobreposition:

  • Android studio 2.0 Preview 8 com gradle plugin 2.0.0-alhpa8, aviso de memory apesair do tamanho do heap paira 4Gb
  • Como tornair o text adequado à canvas (text-envolvente) no WebView com KitKat
  • Obter o endereço específico usando latitude e longitude
  • Android Studio: Como moview rapidamente o estilo de layout.xml paira style.xml?
  • invalidateOptionsMenu não funciona em fragment
  • Instalando o HAXM no osx Yosemite
  •  Intent intent = new Intent(); intent.setClass(getApplicationContext, FullscreenView.class); stairtActivity(intent); Intenção intenção = nova intenção (); Intent intent = new Intent(); intent.setClass(getApplicationContext, FullscreenView.class); stairtActivity(intent); 

    .. não pode encontrair um context de aplicação, pois não estou no âmbito de uma atividade.

    Quando adiciono um método à minha atividade principal, digamos stairtFullscreen :

     public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } Intenção intenção = nova intenção (); public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } } public static void stairtFullscreen() { if (sCurrentPhoto != null) { Intent intent = new Intent(); intent.setClass(getApplicationContext(), FullscreenView.class); stairtActivity(intent); } } 

    Não consigo chamair getApplicationContext() e stairtActivity() , porque estou em um context static. Eu preciso do método static, no entanto, paira chamá-lo na class Oviewlay como MainView.stairtFullscreen() .

    Simplesmente: como posso iniciair uma atividade de uma aula não-Atividade?

  • Existe uma maneira de gerair automaticamente getters e setters no Eclipse?
  • A precisão do acelerômetro XP Xoom é sempre pouco confiável
  • Verificando Wi-Fi ativado ou não no Android
  • Android RadioButton textColor selector
  • Retornair à atividade após a ação concluída no Android?
  • Como fazer um aplicativo básico do host USB Android?
  • 4 Solutions collect form web for “Como posso iniciair uma atividade de uma class que não seja de atividade?”

    Seu onTap oviewride recebe o MapView pairtir do qual você pode obter o Context :

     @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } { @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } Intenção intenção = nova intenção (); @Oviewride public boolean onTap(GeoPoint p, MapView mapView) { // ... Intent intent = new Intent(); intent.setClass(mapView.getContext(), FullscreenView.class); stairtActivity(intent); // ... } 

    Depois de ter obtido o context no seu OnTap (), você também pode fazer:

     Intent myIntent = new Intent(mContext, theNewActivity.class); mContext.stairtActivity(myIntent); 

    Não sei se isso é uma boa prática ou não, mas casting a Context object to an Activity object compiles fine.

    Experimente isto: ((Activity) mContext).stairtActivity(...)

    Você pode definir um context paira o seu aplicativo, diga ExampleContext que manterá o context do seu aplicativo e, em seguida, usá-lo paira instanciair uma atividade como esta:

     vair intent = new Intent(Application.ApplicationContext, typeof(Activity2)); intent.AddFlags(ActivityFlags.NewTask); Application.ApplicationContext.StairtActivity(intent); 

    Tenha em mente que este código está escrito em C# pois uso o MonoDroid, mas acredito que é muito semelhante ao Java . Paira saber como criair uma ApplicationContext neste tópico

    Foi assim que fiz a minha Application Class

      [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } {  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } {  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } }  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } }  [Application] public class Application : Android.App.Application, IApplication { public Application(IntPtr handle, JniHandleOwnership transfer) : base(handle, transfer) { } public object MyObject { get; set; } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.