0

わかりましたので、私のプログラムは、ユーザーが特定のタスクで行った進捗状況を追跡できるようにすることになっています。

<EditText>ユーザーに数値の入力を求めるビューがあり、ユーザーがボタンをクリックして数値入力を追加すると、プログラムには一連OnClickListener()のコードがアクティブになります。

シーケンスは、この入力を文字列に、次に int に変換します。int は、ステータス バーの進行状況に追加されます (進行状況のグラフィカルな表現としてのみ使用されます)。

Netbeans でエラーが発生しておらず、私が書いたものに直感的に問題があるようには見えませんが、アプリを実行しようとするたびにアプリがクラッシュします。見ていない。ご協力いただきありがとうございます。ほんとうにありがとう!

package com.example.progresstracker;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

public class MainActivity extends Activity {

    Button add;
    ProgressBar mProgress;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mProgress.setProgress(0);
        mProgress.setMax(100);
        add = (Button) findViewById(R.id.bAdd);
        mProgress = (ProgressBar) findViewById(R.id.prog);


        add.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                 EditText eText = (EditText) findViewById(R.id.edit);
                 String message = eText.getText().toString();
                 int num = Integer.parseInt(message);


                 mProgress.incrementProgressBy(num);



            }
        });



    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
4

1 に答える 1

1

この行を入れてみてください

mProgress = (ProgressBar) findViewById(R.id.prog);

この行の前に

mProgress.setProgress(0);

メソッドの呼び出しを開始する前に、mProgress を初期化する必要があります。

Ps エラーが発生した場合は、コードの横にスタック トレースを含めると常に役立ちます。

于 2013-10-28T22:22:19.527 に答える