我的应用有很多按钮(超过 300 个) 我想知道是否有办法在我的布局 xml 中使用带有参数的 android:onClick="function" 因为我懒得为每个按钮做一个功能,我想做一些像
public void allbuttons(View view, String stringa) {
if stringa = 1 { bla bla bla}
elif stringa = 2 { blachos}
}
你明白了
最佳答案
为每个按钮指定一个 id。 在您的通用处理程序中,只需检查 ((Button)view).getId() 以获取开关中的 id(使用最新的 adk,您必须使用 if-else)并在每种情况下以不同方式处理它。
public class MyButtonClickHandler implements View.OnClickListener {
@Override
public void onClick(View v) {
Button button = (Button) v;
if (button.getId() == R.id.button1) {
Toast.makeText(Sample1Activity.this, "Toast1", 1000).show();
} else if (button.getId() == R.id.button2) {
Toast.makeText(Sample1Activity.this, "Toast2", 1000).show();
}
}
}
并且在你的 onCreate of activity 中你可以添加
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new MyButtonClickHandler());
我在代码中添加函数引用,但您也可以在 xml 文件中添加。
关于android - 如何使用 android xml 为函数提供参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8284103/