我正在尝试使用C#为Xamarin创建一个简单的Android应用程序,但我只有C#的经验。
我真的不明白我在网上找到的按钮点击,所以我真的不明白我正在犯的错误
我的应用程序就像一个餐厅订单应用程序它只适用于饮料atm
我使用单击按钮以使用1增加特定数组索引。
Button Cola = FindViewById<Button> (Resource.Id.Cola);
Cola.Click += array[0]+1;
编辑:我的想法是,当我点击一个按钮,例如可乐按钮时,它会将数组[0]增加为1.然后我有另一个按钮来打印它。因此,当我按下可乐5次,然后按完成它将打印:可乐5
答案 0 :(得分:1)
为什么不尝试这样
//sample
int i=0;
Button click()
{
i++;
array[i];
}
答案 1 :(得分:1)
有几种不同的方式,有些方式比其他方式简单。我在Android上提供了4种不同的方式。请注意,如果您调用Set方法,它将删除所有其他方法(因为它是Set,而不是Add方法)。
[Activity (Label = "Increment", MainLauncher = true)]
public class MainActivity : Activity, View.IOnClickListener
{
private readonly int[] array = new int[4];
protected override void OnCreate(Bundle bundle)
{
base.OnCreate (bundle);
// Set our view from the "main" layout resource
SetContentView (Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button cola = FindViewById<Button> (Resource.Id.myButton);
// will happen first (in order of assigned)
cola.Click += delegate
{
array [0]++;
};
// second
cola.Click += (sender, e) => array[1]++;
// third
cola.Click += HandleClick;
// if uncommented this will remove other events
//cola.SetOnClickListener (this);
}
void HandleClick (object sender, EventArgs e)
{
array [2]++;
}
public void OnClick(View v)
{
array [3]++;
}
}
答案 2 :(得分:0)
你可以使用这样的匿名函数:
Cola.TouchUpInside += delegate {
array[0]++;
};
您可以在此网站上获得更多信息:http://docs.xamarin.com/recipes/ios/standard_controls/buttons/handle_clicks/
答案 3 :(得分:-1)
我看不到你想要做什么,但推荐的做法是:
final Button button = (Button) findViewById(R.id.Cola);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do your array increment here like array[1] or something?
}
});
答案 4 :(得分:-1)
您似乎并不真正了解按钮在Android中的工作方式。
看看Button类的setOnClickListener
方法
你必须实现一个监听器,它告诉Button在点击时如何反应并将监听器添加到你的按钮
看看这个例子:
http://developer.android.com/reference/android/widget/Button.html
祝你好运!