2017-01-01 91 views
0

這是我的第一款Android/Java應用程序。我使用的第一個答案here嘗試主動重複任務,更新搜索條(「時間滑條」),以顯示作爲音頻文件的播放進度。這裏是我的代碼(刪除了一些不相關的行):的Android的Java:更新搜索條顯示進度音頻文件播放

private int timeSliderInterval = 1000; // 1 second 
private Handler timeSliderHandler; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_play); 
    Intent intent = getIntent(); 
    Runnable doUpdateTimeSlider = new Runnable() { 
     @Override 
     public void run() { 
      timeSliderHandler.postDelayed(doUpdateTimeSlider, timeSliderInterval); 
      updateTimeSlider(); 
     } 
    }; 

    void startUpdateTimeSlider() { 
     doUpdateTimeSlider.run(); 
    } 

    void stopUpdateTimeSlider() { 
     timeSliderHandler.removeCallbacks(doUpdateTimeSlider); 
    } 

    final SeekBar timeSlider = (SeekBar) findViewById(R.id.timeSlider); 

    if (timeSlider != null) { 
     timeSliderHandler = new Handler(); 
     startUpdateTimeSlider(); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     stopUpdateTimeSlider(); 
    } 

該項目不顯示在模擬器中。工具提示顯示這些錯誤:

enter image description here

此外,startUpdateTimeSliderstopUpdateTimeSlider功能都出現了這個錯誤提示:

enter image description here

此外,在運行窗口中,我越來越:

emulator: emulator window was out of view and was recentered

emulator: ERROR: _factory_client_recv: Unknown camera factory query name in ' '

任何幫助將不勝感激!

回答

0

第一個問題是自我解釋,你需要添加final修改。

final Runnable doUpdateTimeSlider = ... 

第二個 - 移動startUpdateTimerSlider()方法,現在其內部onCreate()方法

看起來你錯過了}

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_play); 
Intent intent = getIntent(); 
Runnable doUpdateTimeSlider = new Runnable() { 
    @Override 
    public void run() { 
     timeSliderHandler.postDelayed(doUpdateTimeSlider, timeSliderInterval); 
     updateTimeSlider(); 
    } 
}; 
}//<--------HERE 

void startUpdateTimeSlider() { 
    doUpdateTimeSlider.run(); 
} 
+0

您精確定位體現在這些錯誤的問題。謝謝!我不完全走出險境,很遺憾。我創建了一個新的問題:http://stackoverflow.com/questions/41414330/android-java-cannot-resolve-in-postdelayed – user1147171

+1

首先,新問題的意見是正確的答案 –