-2

私は以下のコードを持っています

public class StartGameActivity extends BaseActivity {
   public TextView txtCustomerCount;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.start_game);
        this.txtCustomerCount = (TextView) findViewById(R.id.txtCustomerCount);
        testThread();
    }

    public void testThread(){       
         Runnable runnable = new Runnable() {
              @Override
              public void run() {
                  int count = 0;
                  boolean stop = false;
                  while(!stop){
                      txtCustomerCount.setText(Integer.toString(count));
                      fakework(2000);
                      count++;
                      if(count > 99){
                          stop = true;
                      }
                  }
              }
         };
         new Thread(runnable).start();
    }

    public void fakework(int lasts){
        try {
           Thread.sleep(lasts);
    } catch (InterruptedException e) {
           e.printStackTrace();
    }
}
}

ここで必要なのは、実行時にスレッドを開始することですonCreate()が、上記のコードは次のようなエラーを返します

07-10 17:20:20.046: E/AndroidRuntime(6247): android.app.SuperNotCalledException: アクティビティ {yens.alisa.menu/yens.alisa.menu.StartGameActivity} は super.onStart() を呼び出しませんでした

私はどこで間違ったのですか?私はアンドロイドを学び始めたばかりなので、さらに説明していただければ幸いです。ありがとうございました。

4

3 に答える 3

1

スタックトレースを考えると、それを引き起こす可能性のある唯一のことは、それがBaseActivity呼び出されていないことですsuper.onCreate()

于 2013-07-10T09:24:21.577 に答える
0

バックグラウンド スレッドからビュー要素に直接アクセスすることはできません。また、AsynTaskプログラムで使用している場合、OnpreExecuteおよびOnPostExecuteメソッドのみが、UI スレッドで実行されるビュー要素に直接アクセスできます。メソッドは別のdoInBackgroundスレッドで実行されます。

あなたの場合とあなたの中doInBackgroundAsyntask 使用できます--

txtCustomerCount.post(new Runnable() {

                        @Override
                        public void run() {
                            txtCustomerCount.setText(Integer.toString(count));                          
                        }
                    });

ただし、エラー ログは問題とは関係ありません。

于 2013-07-10T09:56:11.200 に答える