C# 如何在Xamarin Android中使用intent从画布板移动到另一个屏幕
我正在使用canvas编程一个游戏,当游戏结束时,我会显示一个警告对话框,玩家可以在其中选择是移动到主屏幕还是重新启动游戏。C# 如何在Xamarin Android中使用intent从画布板移动到另一个屏幕,c#,canvas,android-intent,xamarin.android,C#,Canvas,Android Intent,Xamarin.android,我正在使用canvas编程一个游戏,当游戏结束时,我会显示一个警告对话框,玩家可以在其中选择是移动到主屏幕还是重新启动游戏。重新启动选项正在工作,但玩家可以选择移动到主屏幕的选项不起作用。我尝试使用intent,但应用程序没有识别用于蛇形板时的StartActivity(意图)功能 class SnakeBoard : View { Context context; public SnakeBoard(Context context) : base(context) {
重新启动选项正在工作,但玩家可以选择移动到主屏幕的选项不起作用。
我尝试使用intent,但应用程序没有识别用于蛇形板时的StartActivity(意图)功能
class SnakeBoard : View
{
Context context;
public SnakeBoard(Context context) : base(context)
{
this.context = context;
}
protected override void OnDraw(Canvas canvas)
{
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.SetTitle("Game Over");
builder.SetMessage("what do you want to do next?");
builder.SetCancelable(false);
builder.SetNegativeButton("restart", Restart);//if the user choses restart, Restart method is activated.
builder.SetPositiveButton("go to main menu", MainMenu);//if the user choses go to main menu, MainMenu method is activated.
AlertDialog dialog = builder.Create();
dialog.Show();
}
private void MainMenu(object sender, DialogClickEventArgs e)
{
Intent intent = new Intent(context, typeof(GameActivity));
StartActivity(intent);
}
}
public class MainActivity : AppCompatActivity
{
SnakeBoard sb;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
sb = new SnakeBoard(this);
SetContentView(sb);
}
这是相关代码。当活动内容设置为SnakeBoard类的对象时,OnDraw方法将自动激活。
当用户选择Main菜单选项时,我想转到GameActivity屏幕。 谢谢 你应该换新的
StartActivity(intent);
用这条线
context.StartActivity(intent);
因为这个类不从活动继承