-1

側面のボタンを使用して、中央のテキストビューをインクリメントおよびデクリメントしようとしています。アプリケーションは正常に起動しますが、いずれかのボタンをクリックするまでに、次のエラーで閉じられます。
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);
        }
    });

}

}

4

1 に答える 1

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);を呼び出すことによって;

最初にstrings.xmlから整数-1の文字列値を検索し、テキストをtextviewに設定します

アンドロイドがその文字列を見つけられない場合、それはスローしますResourceNotFoundException

:)

于 2012-06-20T03:08:14.967 に答える