单击按钮时数字会增加

时间:2014-03-29 18:46:52

标签: java android android-layout button

我有这个按钮:

<Button
       android:id="@+id/button1"
       android:layout_width="130dp"
       android:layout_height="35dp"
       android:layout_alignRight="@+id/editText2"
       android:layout_alignTop="@+id/imageView1"
       android:layout_marginTop="23dp"
       android:text="Increase" />

如何制作它,以便每次单击按钮时,textview中的计数都会增加,例如,如果数字是0,那么您单击按钮会更改为1?

3 个答案:

答案 0 :(得分:2)

将监听器附加到按钮以处理click事件。

单击它时,递增计数器变量并更新textview的文本。

提示:使用String.valueOf(myCounter);将int转换为String

答案 1 :(得分:2)

您必须通过Button的setOnClickListener方法向Button添加一个侦听器,并传入OnClickListener个对象。

Button btn = (Button) findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        int i = Integer.parseInt(myTextView.getText().toString());
        myTextView.setText(String.valueOf(i + 1));
    }
});

其中myTextView是带有计数器的TextView,通过调用findViewById获得。确保将String传递给setText,否则将调用带有integer参数的方法重载,它具有不同的含义(整数表示资源ID)。

答案 2 :(得分:0)

这很简单!使用此代码:

<Button
   android:id="@+id/button1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="Increase" 
   android:onClick="inc"/>

<TextView
   android:id="@+id/text"
   ..../>

并在您的活动中:

public void inc(View v){
    TextView t = (TextView) findViewById(R.id.text);
    t.setText(String.valueOf(Integer.parseInt(t.getText)+1));
}