2012-02-05 9 views
0

J'ai ce code:En mono pour android sur C# Resource.id dose n'existent pas pourquoi?

using System; 
using Android.App; 
using Android.Content; 
using Android.Runtime; 
using Android.Views; 
using Android.Widget; 
using Android.OS; 
using Android.Speech.Tts; 
using System.Collections.Generic; 
namespace SayItAndroid{ [Activity (Label = "SayItAndroid", MainLauncher = true)] 
    public class Activity1 : Activity, TextToSpeech.IOnInitListener 
{ 
    int count = 1; 
    TextToSpeech mTts; 
    public void OnInit (int status) 
    { 
     Console.WriteLine ("Listening to text to speech"); 
    } 
    protected override void OnCreate (Bundle bundle) 
    { 
     base.OnCreate (bundle);// Set our view from the "main" layout resource 
     SetContentView (Resource.Layout.Main); 
     Intent checkIntent = new Intent(); 
     checkIntent.SetAction(TextToSpeech.Engine.ActionCheckTtsData); 
     StartActivityForResult(checkIntent, 100);   // Get our button from the layout resource,   // and attach an event to it    
     Button button = FindViewById<Button> (Resource.Id.myButton); 
     button.Click += delegate 
     { 
      string myText1 = "Did you sleep well?"; 
      string myText2 = "I hope so, because it's time to wake up."; 
      mTts.Speak(myText1, QueueMode.Add, new Dictionary<string, string>()); 
      mTts.Speak(myText2, QueueMode.Flush, new Dictionary<string, string>()); 
     }; 
    } 
    protected override void OnActivityResult (int requestCode, Result resultCode, Intent data) 
    { 
     base.OnActivityResult (requestCode, resultCode, data); 
     if(requestCode == 100) 
     { 
      mTts = new TextToSpeech(this, this); 
     } 
    } 
}} 

Mais les deux endroits que j'ai des ressources im obtenir erreur de ligne rouge sous la ressource:

Erreur 1 Le nom « ressource » n'existe pas dans le contexte actuel

Comment puis-je le résoudre?

Merci.

Répondre

7

La raison pour laquelle Resource est introuvable est de 9 sur 10, car la ressource n'est pas dans le même espace de noms que le fichier à partir duquel vous la référencez.

Comme indiqué on this page par Xamarin, l'espace de noms par défaut du projet est utilisé pour stocker le fichier de classe de ressources doit être généré.

Si votre classe se trouve dans un autre espace de noms casser des choses.

Espérons que tout soit clair pour vous.