猿问

按钮 onClick 未绑定到 Activity 中的方法

因此,我正在尝试测试将单击事件添加到我主要使用Button的 .axml 文件中的a 。Activity我经历了很多其他线程,并且尽我所能遵循提供的代码。但是,当我运行代码时出现以下异常。


Java.Lang.IllegalStateException: Could not find method testClick(View) 

in a parent or ancestor Context for android:onClick attribute 

defined on view class android.widget.Button with id 'login'

在 Main.axml


  <Button

      android:text="Login"

      android:layout_width="match_parent"

      android:layout_height="0dp"

      android:layout_weight="2"

      android:onClick="testClick"

      android:id="@+id/login" />

在 Main.cs


public class Main : Activity

{

    protected override void OnCreate(Android.OS.Bundle savedInstanceState)

    {

        base.OnCreate(savedInstanceState);

        SetContentView(Resource.Layout.Main);

    }


    public void testClick(View view)

    {

        //Show alert saying clicked...

    }

}

我是否缺少一些配置,或者包括让它工作?


aluckdog
浏览 143回答 2
2回答

牛魔王的故事

你总是可以这样做:Button button1 = FindViewById<Button>(Resource.Id. login);button1.Click += delegate => {&nbsp;//Show alert saying clicked...};如果您不想使用这种方式,则应Export首先使用您的方法,如下所示查看此答案:[Export("testClick")]public void testClick(View view){&nbsp; &nbsp; //Show alert saying clicked...}如果这些不起作用,请添加参考Mono.Android.Export.dll,然后在你的Activity放这个[Java.Interop.Export("testClick")]public void testClick(View view){&nbsp; &nbsp; //Show alert saying clicked...}

暮色呼如

请在继承接口 View.IOnclicklistener 后尝试:public class Main: AppcompatActivity, View.IonClickListener它有助于像您给出的那样实现界面的 onclick 方法:public void testClick(View view)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; //Show alert saying clicked...&nbsp; &nbsp; }
随时随地看视频慕课网APP
我要回答