如何将按钮id作为整数放到textview中并对这些整数求和

时间:2014-04-29 15:11:30

标签: java android textview

我使用10个带有10个ID的按钮动态创建布局。像这样:

    private Button myButton;
private TextView wynik;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    createLayoutDynamically();
    score = (TextView) findViewById(R.id.textView2);

        }

private void createLayoutDynamically() {

    int a = 10;
    for ( int q = 1; q < a; q++) {
         myButton = new Button(this);
        myButton.setText("q:"+q);
        myButton.setId(q);

        TableRow layout = (TableRow) findViewById(R.id.tableRow1);

        layout.addView(myButton);

    }   
        }

    }

现在我想从我的10个按钮中获取此ID只有当我点击按钮并将整数放入textView&#34;得分&#34;然后总结这些整数。

例如: q:1 q:2 q:3 q:4 q:5是单击q:1和q:3和q:4时的按钮我想要这些按钮的总和值。

1 + 3 + 4 = 8。

1 个答案:

答案 0 :(得分:2)

我不认为你应该使用这个ID,因为那不是它的用途。我认为您应该使用tag属性,并且在单击按钮时需要单击侦听器。

private void createLayoutDynamically() {

int a = 10;
for ( int q = 1; q < a; q++) {
     myButton = new Button(this);
    myButton.setText("q:"+q);
    myButton.setId(q);

    myButton.setTag(q);
    myButton.setOnClickListener(listener);

    TableRow layout = (TableRow) findViewById(R.id.tableRow1);

    layout.addView(myButton);

}   
}

在类级声明一个变量:

private int total;

然后当你点击按钮时:

Private OnClickListener listener = new OnClickListener()
{
    public void onClick(View v)
    {
         int buttonValue = (int)v.getTag();
         total += buttonValue;
         myTextView.setText(String.valueOf(total));
    }
}