【发布时间】:2014-03-28 14:15:29
【问题描述】:
首先,我很抱歉,因为我确定以前有人问过这个问题,但我找不到答案:
我正在使用 Xamarin 编写一个 Android 应用程序。如何以声明方式设置事件处理程序?
目前我的 axml 中有一个按钮:
Button
android:layout_width="100dp"
android:layout_height="100dp"
android:id="@+id/btnOne"
android:textSize="30dp"
android:text="1"
android:onClick="btnOneClick"
我想在我的 Activity.cs 中触发 btnOneClick 方法:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
namespace AndroidMacScanner
{
[Activity(Label = "MacScanner", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
//int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Login);
// Get our button from the layout resource,
// and attach an event to it
//Button button = FindViewById<Button>(Resource.Id.MyButton);
//button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
//EditText editText = FindViewById<EditText>(Resource.Id.txtPin);
//editText.InputType = InputTypes;
}
public void btnOneClick(View v)
{
if (1 == 1) { };
}
}
}
但是当我点击按钮时,我收到一条消息说应用程序已停止工作,没有其他详细信息。
编辑:添加了我的完整代码。 xml 不包含除上述相关内容之外的任何内容。 logcat 显示以下错误: 03-28 15:03:31.575 E/AndroidRuntime(5178): java.lang.IllegalStateException: 在视图类 android.widget.Button 上的视图类 android.widget.Button 的 onClick 处理程序的活动类 androidmacscanner.Activity1 中找不到方法 btnOneClick(View) 'btnOne'
所以找不到事件处理方法...
怎么了?
干杯,
詹姆斯
【问题讨论】:
-
发布一些您的代码和 logcat。顺便说一句,单击按钮后您期望什么?移动到另一个活动或?
-
到目前为止,这就是所有相关代码 - 我刚刚迈出了进入 Android 的第一步 :-)。该事件没有被触发,所以没有断点可以被击中,所以我看不到如何使用stacktace发布任何有用的东西?顺便说一句,我正在使用 Visual Studio 编写这个。
-
制定了如何使用 logcat 并在上面发布了相关行。感谢您的提示!