0
當長按快門按鈕激活相機中的連拍時,我想更新顯示當前照片編號的文本視圖。正如我們所知,我們在Camera中執行連拍,系統很忙,也許它不會立即刷新文本視圖。所以我做了一些這樣的操作:如何在android中快速更新textview內容顯示?
- 使用可運行+處理器:
- 發佈可運行在當前照片編號更新
呼叫TextView.setText(編號)在運行( )
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); ... } }
但有時TextView中無法顯示迅速與我期望的數量。 我正在使用Android 4.2。
其實,我粘貼效果很好的代碼。現在,確保textview可以及時顯示是主要目標。我知道android中只有主線程才能改變UI的原理。 – Jerikc
可能是mHandler.post(mShowBurstNumberRunnable)執行時間太長後的代碼。你可以把它們放回線程來運行你的任務。 – SFeng