Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Android,如何从另一个.cs文件调用另一个方法_C#_Xamarin_Xamarin.android - Fatal编程技术网

C# Android,如何从另一个.cs文件调用另一个方法

C# Android,如何从另一个.cs文件调用另一个方法,c#,xamarin,xamarin.android,C#,Xamarin,Xamarin.android,这里需要一些帮助,所以我尝试从另一个.cs运行方法,我在mainActivity.cs中运行了以下代码 protected override void OnCreate(Bundle savedInstanceState) { startGame(); } public void startGame() { firstNum = FindViewById<TextView>(Resource.Id.tvFirstNum); secondNum = FindViewById<

这里需要一些帮助,所以我尝试从另一个.cs运行方法,我在mainActivity.cs中运行了以下代码
protected override void OnCreate(Bundle savedInstanceState)
{
startGame();
}

public void startGame()
{
 firstNum = FindViewById<TextView>(Resource.Id.tvFirstNum);
 secondNum = FindViewById<TextView>(Resource.Id.tvSecondNum);
 firstNum.Text = Convert.ToString(2);
 secondNum.Text = Convert.ToString(2);
}

然而,我得到的错误是

java.lang.NullPointerException:尝试在null上调用虚拟方法“android.view.view android.app.Activity.findViewById(int)” 对象引用

有人知道为什么吗
谢谢

您自己正在实例化您的
MainActivity
类,它不会加载附带的布局。这是因为Android使用的生命周期方法没有被调用,所以你的
OnCreate
方法永远不会启动(它通常处理布局)。因此,
FindViewById
将返回空值

注意:您不应该像这里尝试的那样从另一个类调用视图(特别是当它是另一个活动时)。如果您仍然希望从另一个类调用此函数,可以将活动作为参数传递,但我不推荐这种方法

我建议你读一下这本书

    private void BtnRestart_Click(object sender, EventArgs e)
    {
        MainActivity mp = new MainActivity();
        mp.startGame();
    }