C# setOnTouchListener advice
本文关键字:advice setOnTouchListener | 更新日期: 2023-09-27 18:17:10
大家好,我想为一个程序制作一个虚拟键盘。我做了两个EditText和一个数字键盘:
using System;
using Android.App;
using Android.OS;
using Android.Views;
using Android.Widget;
namespace SOLVER
{
[Activity (Label = "SOLVER", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
Button Button1,Button2,....;
EditText a,b;
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
SolveButton ();
Button1 = FindViewById<Button> (Resource.Id.butonul1);
.....................................................
a = FindViewById<EditText> (Resource.Id.A);
b= FindViewById<EditText> (Resource.Id.B);
a.Click += (object sender, EventArgs e) => {
ButtonClick (a);
};
}
private void ButtonClick ( EditText x )
{
Button1.Click += delegate {
x.Text = "1";
};
}
}
}
但是如果我在EditText上点击了不止一次,它会显示按点击次数计算的数字。
I try to change
private void ButtonClick ( EditText x )
{
Button1.Click += delegate {
x.Text = "1";
};
:
private void ButtonClick ( EditText x )
{
Button1.Click -= delegate {
x.Text = "1";
};
和程序不显示任何东西在编辑框。最后我想切换函数setOnTouchListener像这样:
Button1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
x.Text = "1";
}
});
我得到两个错误:
-expected}在第二行。-A命名空间不能直接包含字段或方法等成员。在最后一行
我忘了说我用Xamarin。如果你能告诉我我做错了什么或其他想法请告诉我。
听起来您可能放置了以下代码段:
Button1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
x.Text = "1";
}
});
在你的类/命名空间之外。检查花括号,并确保代码实际上在MainActivity类中。