2011-04-13 2 views
1

Je suis l'API android originale et utilise le monodroid pour écrire un CustomView très simple pour dessiner un rectangle. Une fois que j'entre dans l'application, il se ferme automatiquement. Tandis que j'écris un androïde pur avec l'éclipse, cela fonctionne bien. Ou lorsque je supprime le code de la méthode drawRect, cela fonctionne également. Est-ce que quelqu'un sait cela ou quelque chose de mal que j'ai fait?canvas.DrawRect provoque l'arrêt automatique de l'application

attache Voici le code des applications:

[Activity1.cs]

int count = 1; 

    protected override void OnCreate(Bundle bundle) 
    { 
     base.OnCreate(bundle); 

     // Set our view from the "main" layout resource 
     SetContentView(Resource.Layout.Main); 

     // Get our button from the layout resource, 
     // and attach an event to it 
     Button button = FindViewById<Button>(Resource.Id.MyButton); 
     LinearLayout layoutRoot = FindViewById<LinearLayout>(Resource.Id.LayoutRoot); 
     layoutRoot.AddView(new DrawableView(this)); 

     button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); }; 
    } 

[DrawableView.cs]

protected override void OnDraw(Android.Graphics.Canvas canvas) 
    { 
     base.OnDraw(canvas); 
     canvas.DrawRect(new Rect(10, 10, 100, 100), new Paint { Color = Color.Red }); 
    } 

c'est le code que j'utilise dans l'éclipse:

public class DrawableView extends View { 

public DrawableView(Context context) { 
    super(context); 
    // TODO Auto-generated constructor stub 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    // TODO Auto-generated method stub 
    super.onDraw(canvas); 
    Paint paint = new Paint(); 
    paint.setColor(Color.RED); 
    canvas.drawRect(new Rect(10, 10, 110, 110), paint); 
} 

}

Merci beaucoup. Howard

+0

Je lutte encore cette question. J'utilise la version d'évaluation, est-ce que quelqu'un a testé dans une autre version? – Howard

Répondre

1

Vous devez vérifier le journal android pour voir ce que l'erreur est:

http://mono-android.net/Documentation/Guides/Android_Debug_Log

+0

J'ai essayé de configurer à nouveau l'environnement sur ma boîte de compagnie, cela fonctionne très bien. Bien que cela prenne plusieurs secondes pour se lancer; mais ça marche au moins. Merci quand même, est-ce possible que l'émulateur ne soit pas stocké pour le moment? Je vais essayer de mettre à jour le dernier SDK et réessayer. – Howard

Questions connexes