シャッターボタンを長押ししてカメラのバーストショットを有効にしたときに、現在の写真番号を示すテキストビューをすばやく更新したいと考えています。ご存知のように、カメラでバースト ショットを行います。システムがビジー状態で、テキストビューがすぐに更新されない可能性があります。だから私はこのようないくつかの操作を行いました:
- runnable + ハンドラの使用:
- 現在の写真番号が更新されたときにランナブルを投稿する
run() で TextView.setText(number) を呼び出します
private Runnable mShowBurstNumberRunnable = new Runnable() { public void run() { mBurstShotTextView.setText(mCurrentShotsNum); } } private PictureCallback mContinuousJpegPictureCallback = new PictureCallback() { public void onPictureTaken(final byte[]data, android.hardware.Camera camera) { ... mCurrentShotsNum++; mHandler.post(mShowBurstNumberRunnable); ... } }
しかし、テキストビューが期待どおりに数値を迅速に表示できないことがあります。私はAndroid 4.2を使用しています。