任何人都可以帮助我吗?我被困在这件事上大约一周。我想设置一个按钮来做几件事。例如:当我按下按钮一次 - b1.setBackgroundResource(R.drawable.a),当我按两次 - b1.setBackgroundResource(R.drawable.b)时,按下第三个 - b1.setBackgroundResource(R.drawable.c)等等。有可能这样做吗?非常感谢!
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b1 = (Button) findViewById(R.id.button);
b1.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
}
}
);
}
答案 0 :(得分:1)
定义了一个int计数器。在npm set maxsockets 3
增加它并根据它的值
答案 1 :(得分:1)
是的,这是可能的 使用称为setTag和getTag的按钮属性。它与flag
的工作方式相同示例:
b1.setTag("1");
b1.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
if b1.getTag().equals("1"){
b1.setTag("2")
}
else if(b1.getTag().equals("2")) {}
}
}
);
答案 2 :(得分:0)
我找到了一个最近的教程,详细说明并解释了如何做你想做的事情,但它是通过短按和长按按钮完成的。 试试这个:https://www.youtube.com/watch?v=cUgL8b7M8ns 希望它有所帮助。
答案 3 :(得分:0)
创建全局变量
private int index = 0;
然后在你的代码中执行此操作
b1.setOnClickListener(
new Button.OnClickListener() {
public void onClick(View v) {
switch (index) {
case 0:
firstFunction();
break;
case 1:
secondFunction();
break;
}
// Advance your counter and extract the %
index++;
index = index % numOfDifferentFunctions;
}
}
);