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。如果你能告诉我我做错了什么或其他想法请告诉我。

C# setOnTouchListener advice

听起来您可能放置了以下代码段:

Button1.setOnTouchListener(new View.OnTouchListener()
        {
            public boolean onTouch(View arg0, MotionEvent arg1)
            {
                x.Text = "1";
            }
        });

在你的类/命名空间之外。检查花括号,并确保代码实际上在MainActivity类中。