我在以下按钮代码中缺少什么?

时间:2012-06-20 03:02:11

标签: android button

我试图通过两侧的按钮增加和减少中间文本视图。应用程序启动很好,但是当我点击任何按钮时,它会被关闭并出现以下错误  Error: process <package> has stopped unexpectedly.

我的main.xml:

<?xml version="1.0" encoding="utf-8"?>

<Button
    android:id="@+id/button1"
    android:layout_width="50dp"
    android:layout_height="250dp"
    android:text="+"
    android:textSize="40dp" />

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="0"
    android:textSize="80dp"
    android:layout_toRightOf="@+id/button1"
    android:layout_marginTop="75dp"
    android:layout_marginLeft="80dp"
     />


<Button
    android:id="@+id/button2"
    android:layout_width="50dp"
    android:layout_height="250dp"
    android:layout_alignParentRight="true"
    android:text="-"
    android:textSize="40dp" />

我的java文件:

public class IncrementDecrementActivity extends Activity {

int counter;
Button add, sub;
TextView tv;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    add = (Button) findViewById(R.id.button1);
    sub = (Button) findViewById(R.id.button2);
    tv = (TextView) findViewById(R.id.tv1);

    add.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            counter++;
            tv.setText(counter);
        }
    });

    sub.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            counter--;
            tv.setText(counter);
        }
    });

}

}

1 个答案:

答案 0 :(得分:4)

好。这应该是。

在本声明中

counter--;
tv.setText(counter);

应该是

counter--;
tv.setText(String.valueOf(counter));

我猜错误是

  

ResourceNotFoundException

您是如何遇到此错误的?

上面的代码。

你宣布int counter;

让我们考虑计数器的值为0

然后

你打电话给

counter--; // take note this is an integer
tv.setText(counter);

计数器现在为-1

致电setText(counter);

将首先使用整数-1搜索strings.xml中的字符串值,并将文本设置为textview

如果android找不到该字符串,它将抛出ResourceNotFoundException

:)