gpt4 book ai didi

Android:许多按钮,一个 OnClickListener?

转载 作者:行者123 更新时间:2023-11-29 14:52:06 28 4
gpt4 key购买 nike

我目前正在开发一个 Android 应用程序,有几个问题。

1) 在我的应用程序中,有一个 Battery Mod 部分。他们将有超过 50 个按钮。所以,不要做类似的事情:

 public class MyActivity extends Activity implements OnClickListener {

@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonA = (Button) findViewById(R.id.buttonA);
buttonA.setOnClickListener(this);
Button buttonB = (Button) findViewById(R.id.buttonB);
buttonB.setOnClickListener(this);
}

//etc... etc...

public void onClick(View v) {

switch (v.getId()) {
case R.id.buttonA:
// do something
break;
case R.id.buttonB:
// do something else
break;
}
}
}

有没有更简单的方法来做到这一点?当您单击电池模组按钮时,它会显示模组的图像以及安装它的选项。除了图像,每个 mod 都是一样的。如果没有更简单的方法。

最佳答案

标签属性是所有 View 的一个有用组件,但为此目的并未过多讨论。您可以将 View 的标签设置为任何对象:

Object foo = new Object();
button1.setTag(foo);

您可以使用它轻松地将标签分配给图像的名称,或者可能是 Drawable 资源的 id。然后对所有这些按钮使用一个 onClick 方法,并简单地解压标签以确定应该如何使用它:

public void onClick(View v)
{
//any button was clicked. Now determine what to do using the tag.

Object tag = v.getTag();
//TODO: use tag.


}

关于Android:许多按钮,一个 OnClickListener?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14944784/

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