按钮单击事件不起作用-为什么这样?

时间:2018-12-27 13:42:04

标签: android

我正在尝试点击动态生成的按钮

  for (i = 0; i < Randombutton.size(); i++) {

        Button btn = new Button(getApplicationContext());

        //set button text
        btn.setText(String.valueOf(Randombutton.get(i)));

        //set button default color
        btn.setBackgroundColor(Color.parseColor("#f2f2f2"));
        btn.setTextSize(36);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // Button clickedBtn = (Button) v;
                //  Log.w("cliked",String.valueOf(clickedBtn.getText()));
                Log.w("cliked", "test");
            }
        });

        RandomButtonView.addView(btn);

    }

按钮显示正常,但单击事件不起作用。

1 个答案:

答案 0 :(得分:1)

我尝试了此代码,并且工作正常。请也检查一下。

for (int i = 0; i < 5; i++) {

            Button btn = new Button(this);
            // btn.setId(i);
            btn.setText(String.valueOf("Test : " + (i + 1)));
            btn.setBackgroundColor(Color.parseColor("#f2f2f2"));
            btn.setTextSize(8);
            btn.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    Button clickedBtn = (Button) v;
                    Toast.makeText(DynamicView.this, clickedBtn.getText().toString(), Toast.LENGTH_SHORT).show();
                }
            });

            layout_dynamic_content.addView(btn);
        }