C# Xamarin处理程序.Post不调用IRunnable.Run()
我正在尝试在Xamarin中运行此Android代码:C# Xamarin处理程序.Post不调用IRunnable.Run(),c#,xamarin,xamarin.android,runnable,C#,Xamarin,Xamarin.android,Runnable,我正在尝试在Xamarin中运行此Android代码: final Handler handler = new Handler(); handler.post(new Runnable() { @Override public void run() { int hours = seconds/3600; int minutes = (seconds%3600)/60; int secs = seconds%60; String time = St
final Handler handler = new Handler();
handler.post(new Runnable() {
@Override
public void run() {
int hours = seconds/3600;
int minutes = (seconds%3600)/60;
int secs = seconds%60;
String time = String.format("%d:%02d:%02d", hours, minutes, secs);
timeView.setText(time);
if (running) {
seconds++;
}
handler.postDelayed(this, 1000);
}
});
我在Xamarin试过这个
Test newTest = new Test(this);
Handler handler = new Handler();
handler.Post(newTest);
测试类是IRunnable
as
public class Test : IRunnable
{
MainActivity activity;
public Test(MainActivity test)
{
activity = test;
}
public IntPtr Handle
{
get
{
return (IntPtr)0;
}
}
public void Dispose()
{
}
public void Run()
{
Console.WriteLine("-------------------->Run called<-----------------------");
TextView stopWatch = activity.getTextView();
int hour = activity.seconds / 3600;
int minute = (activity.seconds % 3600) / 60;
int sec = activity.seconds % 60;
string time = string.Format("%d:%02d:%02d", hour, minute, sec);
stopWatch.Text = time;
if (activity.running == true)
{
activity.seconds++;
}
Handler handler = new Handler();
handler.PostDelayed(this, 1000);
}
}
公共类测试:IRunnable
{
主要活动;
公共测试(活动测试)
{
活动=测试;
}
公共IntPtr句柄
{
得到
{
返回(IntPtr)0;
}
}
公共空间处置()
{
}
公开募捐
{
WriteLine(“”----------------->运行调用,这是一个典型的错误。
该提示隐藏在生成输出中
类型“App1.Test”实现Android.Runtime.IJavaObject,但不从Java.Lang.Object继承。不支持该类型
每次实现Java接口时,都必须继承Java.Lang.Object
public class Test : Java.Lang.Object, IRunnable
{
// ...
}