试图编写我的第一个应用程序,但按钮不起作用

时间:2014-06-18 03:35:09

标签: android

所以我试着把一个简单的小费计算器作为我的第一个应用程序。我看过多个教程,但出于某种原因,我无法让按钮工作。滑块工作正常,所以我不确定是什么问题。

根据我的理解,这是我设置每个按钮扔数组的地方。

    int idList[] = {R.id.button1,R.id.button2,R.id.button3,
            R.id.button4,R.id.button5,R.id.button6,
            R.id.button7,R.id.button8,R.id.button9,
    };


    for (int id:idList){
        View v = (View) findViewById(id);
        v.setOnClickListener(btnClick);
    }

这是我使用它们的地方

 private class ButtonclickListener implements View.OnClickListener{
    public void onClick (View v) {
        switch (v.getId()){
            case R.id.buttonC: //clear
                Scr.setText("0");
                NumberBf = 0;
                break;
            case R.id.button_tip:
                CalcTip();
                break;
            default:
                String numb = ((Button) v).getText().toString();
                getKeyboard(numb);
                break;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

在列表中,您使用的是R.id.button1

但在您的交换机案例中,您使用的是不同的ID(R.id.buttonC)?

应该是

int idList[] = {R.id.button1,R.id.button2,R.id.button3,
        R.id.button4,R.id.button5,R.id.button6,
        R.id.button7,R.id.button8,R.id.button9,
};


for (int id:idList){
    View v = (View) findViewById(id);
    v.setOnClickListener(btnClick);
}

case R.id.button1: break; case R.id.button2: break;

简而言之,当你做侦听器和findviewbyID时它应该匹配