我需要知道,如何识别,按下哪个按钮。 就像我有两个按钮,比如按钮1和按钮2,并且它们都执行相同的方法,比如说method(),如何确定按下哪个按钮?
此致
答案 0 :(得分:44)
最优雅的模式:
public void onClick(View v) {
switch(v.getId())
{
case R.id.button_a_id:
// handle button A click;
break;
case R.id.button_b_id:
// handle button B click;
break;
default:
throw new RuntimeException("Unknow button ID");
}
通过这种方式调试它会更加简单,并确保您不会错过处理任何点击。
答案 1 :(得分:5)
我有10个按钮执行相同的方法C.test <-
function (object)
{
model <- deparse(substitute(object))
by.factor <- as.factor(1:object$rank)
n <- length(object$model[,1])/object$rank
k <- object$rank
var <- tapply(object$model[,1], rep(1:k, each = n), var)
int <- interaction(object$model[,-1], lex.order = TRUE)
f.int <- factor(int, levels = unique(int))
names(var) <- levels(f.int)
mean <- tapply(object$model[,1], rep(1:k, each = n), mean)
C <- max(var)/sum(var)
group <- names(var)[which(var == max(var))]
method <- "Cochran test of homogeneity of variances"
alt <- paste("Group", group, "has outlying variance")
f <- (1/C - 1)/(k - 1)
p <- 1 - pf(f, (n - 1) * (k - 1), (n - 1)) * k
pval <- 1 - p
result <- list(statistic = c(C = C), parameter = c(n = n,
k = k), alternative = alt, p.value = pval, method = method,
estimate = round(var, 4), mean = mean, var = var, data.names = model)
class(result) <- "htest"
return(result)
}
,我使用此代码获取点击按钮的文字:
updateText()
答案 2 :(得分:4)
或者......你可以在xml代码中放一个android:onClick =“foo” 按钮,并使用签名在java上定义方法。在 - 的里面 方法foo,获取id并将其与您需要的ID进行比较
public void foo(View v){
if (v.getId() == R.id.yourButton){
}
else if (v.getId() == R.id.nextButton){
}
}
答案 3 :(得分:1)
如果通过“执行相同的方法”意味着他们的OnClickListener,那么你必须引用传递给它的参数。
public void onClick(View v) {
if(v==btnA) {
doA();
} else if(v==btnB) {
doB();
}
}
答案 4 :(得分:-1)
好的解决方案
if (yesButton.getId() == ((Button) v).getId()){
// remainingNumber
}
else if (noButton.getId() == ((Button) v).getId())
{
// it was the second button
}