-1
我的項目是在C#中使用xamarin android。我創建了一個構造函數並獲取錯誤:非靜態字段需要一個對象引用,該如何修復該方法?
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.IO;
using System.Windows;
using System.Collections.Generic;
using System.Linq;
namespace App5
{
[Activity(Label = "App5", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
public MainActivity()
{
var langAvailable = new List<string> { "Default" };
var localesAvailable = Java.Util.Locale.GetAvailableLocales().ToList();
foreach (var locale in localesAvailable)
{
LanguageAvailableResult res = TextToSpeech.IsLanguageAvailable(locale);
switch (res)
{
case LanguageAvailableResult.Available:
langAvailable.Add(locale.DisplayLanguage);
break;
case LanguageAvailableResult.CountryAvailable:
langAvailable.Add(locale.DisplayLanguage);
break;
case LanguageAvailableResult.CountryVarAvailable:
langAvailable.Add(locale.DisplayLanguage);
break;
}
}
}
在此行中:
TextToSpeech.IsLanguageAvailable(locale)
我發現了錯誤:
錯誤1:一個對象引用是所必需的非靜態字段,方法或屬性Android.Speech.Tts.TextToSpeech.IsLanguageAvailable(Java.Util.Locale)
試圖改變e構造函數是靜態的或變量LanguageAvailableResult
是靜態的,但沒有幫助。
TextToSpeech實例需要獲取參數。至少兩個。上下文和texttospeech.ionlistener。 –
然後你需要提供它們。 –
我試着創建全局TextToSpeech.IOnInitListener監聽;但我不明白我應該分配給什麼。然後在我做的TextToSpeech實例中:new TextToSpeech(ApplicationContext,listen);所以現在我沒有得到錯誤,但沒有分配監聽,所以它是空的。 –