gpt4 book ai didi

android - 如何处理在 Android 中被点击的按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:57 25 4
gpt4 key购买 nike

在Android中似乎有3种常见的处理按钮点击的方法,这些方法之间有多大区别?他们中的任何一个在某种程度上“更好”吗?

我经常看到的三种方法是:

匿名类

通过 ID 找到按钮,然后将一个新的匿名类传递给 setOnClickListener,例如在 onCreate

findViewById(R.id.myButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// .. Whatever
}
});

实现 OnClickListener

实现 OnClickListener 并将 this 传递给 setOnClickListener,然后使用基于按钮 ID 的开关语句,例如在 onCreate

findViewById(R.id.myButton).setOnClickListener(this);

并像这样实现onClick

public void onClick(View v) {
switch(v.getId()) {
case R.id.myButton:
// ... whatever ...
break;
}
}

使用 onClick XML 属性

在您的 Activity 的 XML 布局中,不要为您的按钮提供 ID,而是像这样使用 onClick:

<Button 
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:onClick="buttonClicked"
android:text="Button" />

然后在您的 Acitiviy 中有一个 buttonClicked 方法,如下所示:

public void buttonClicked(View v) {
// ... whatever ...
}

目前我倾向于使用 XML 属性,但这只是因为它涉及的代码量最少。我什么时候应该使用其他方法?

最佳答案

前两个是经典方法。您更喜欢哪一个是一般的 Java 问题而不是 Android 问题。第三个是后来添加的,以使事情变得更容易。

Setting up a click listener on a button is very common task, but it requires quite a bit of boilerplate code. One way to reduce the amount of boilerplate is to share a single click listener between several buttons. While this technique reduces the number of classes, it still requires a fair amount of code and it still requires giving each button an id in your XML layout file. With Android 1.6, none of this is necessary. All you have to do is declare a public method in your Activity to handle the click (the method must have one View argument)

Source

关于android - 如何处理在 Android 中被点击的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7082344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com