如何从另一个动态按钮OnClickListener事件中获取动态按钮文本

时间:2016-12-18 16:33:50

标签: android dynamic onclicklistener

我想从另一个动态按钮OnClickListener事件中获取第二个动态按钮文本: 这里定义了一些动态buutons:

    LinearLayout lv=(LinearLayout)findViewById(R.id.lv);

    for (int k = 1; k <= str[0].length(); k++) {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(100, 100);
        btnTopEn = new Button(this);
        btnTopEn.setId(k);
        final int id_ = btnTopEn.getId();
        btnTopEn.setText(" ");
        lv.addView(btnTopEn, params);
        btnTopEn = ((Button) findViewById(id_));
        final Button finalBtnT = btnTopEn;
        btnTopEn.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                finalBtnT.setText("");
            }
        });
    }

现在我想要来自OnClickListener Event的第二个按钮的文本:

    TableLayout layout = (TableLayout)findViewById(R.id.TableL);

    String stt="RZCEADHPTAUJTSFR";
    int l=0;

    for (int f=0; f<=1; f++) {
        TableRow tr = new TableRow(this);
        for (int c=0; c<=7; c++) {
            btnCEn = new Button (this);
            String ss=(String.valueOf(stt.charAt(l)));
            btnCEn.setText(ss);;
            final Button finalBtnB = btnCEn;
            btnCEn.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {

                        int m=2;
                        btnTopEn = ((Button) findViewById(m));
                        final Button finalBtnT = btnTopEn;
                        if (finalBtnT.getText().equals("")) {
                            String stGetText=finalBtnB.getText().toString();
                            finalBtnT.setText(stGetText);
                            break;
                        }

                    }

                }
            });
            TableRow.LayoutParams lp = new TableRow.LayoutParams(100,100);
            tr.addView(btnCEn, lp);
        }
        layout.addView(tr);
    }

我在OnClickListener事件中编写了一些代码,但都没有发生!

1 个答案:

答案 0 :(得分:1)

第一个循环中str的值是多少?

您还要将文本设置为空格。

btnTopEn.setText(" "); 

在检查时检查是否为空:

if (finalBtnT.getText().equals("")){
}

尝试更改为

if (finalBtnT.getText().toString().trim().equals("")){
}