RunOnUiThread在静态方法中

时间:2014-09-09 19:02:59

标签: android xamarin xamarin.android xamarin-studio

如何在Activity中的静态方法中使用RunOnUiThread来被另一个类访问? 在MainActivity中,我有一个更新listview的方法,其中包含UtilDoc.cs类的值。 错误:

错误CS0120:非静态字段,方法或属性'Android.App.Activity.RunOnUiThread(System.Action)'(CS0120)(MyProject) <需要对象引用/ p>

MainActivity.cs:

public static void UpDateValue(string value)
{
  RunOnUiThread(() => {
          //updateListview
        });
}

UtilDoc.cs

public void SendValueListView()
{
  string value = GetValue();
  MainActivity.UpDateValue(value);
}

1 个答案:

答案 0 :(得分:0)

简短的回答是你不能。

相反,您可以(但可能不应该)使UpDateValue(字符串值)成为非静态方法,并为UtilDoc提供对MainActivity的引用,以便您可以调用UpDateValue。

更好的解决方案是为ListView创建一个Adapter并告诉它更新数据。

有关ListView和适配器的更多信息:http://developer.xamarin.com/guides/android/user_interface/working_with_listviews_and_adapters/