大家好我试图为一个程序制作一个虚拟的keyborard。我制作了两个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,它会显示nr 1的点击次数。
我尝试改变
private void ButtonClick ( EditText x )
{
Button1.Click += delegate {
x.Text = "1";
};
使用:
private void ButtonClick ( EditText x )
{
Button1.Click -= delegate {
x.Text = "1";
};
该程序不会在EditBox中显示任何内容。 最后我想用这个函数setOnTouchListener切换:
Button1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
x.Text = "1";
}
});
我得到两个错误:
在第二行-expected}。 - 命名空间不能直接包含字段或方法等成员。在最后一行。
我忘了提到我使用Xamarin。如果你能告诉我我做错了什么或其他想法请告诉我。提前谢谢你。
答案 0 :(得分:0)
听起来你可能放了这个片段:
Button1.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View arg0, MotionEvent arg1)
{
x.Text = "1";
}
});
在您的类/命名空间之外。检查花括号并确保代码实际位于MainActivity类中。