Angenommen, ich habe einen Timer, der eine TextView
in Fragment A verwendet. Und ich möchte diesen Timer in Fragment B verwenden. Wie würde ich es tun? Dies ist der Code, der in Fragment A verwendet wird, um den Timer einzustellen ...Wie würde ich einen Timer von einem Fragment zum anderen weitergeben?
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
long totalDuration = mp.getDuration();
long currentDuration = mp.getCurrentPosition();
// Displaying total duration time
songTotalDurationLabel.setText(""+utils.milliSecondsToTimer(totalDuration));
// Displaying current time
songCurrentDurationLabel.setText(""+utils.milliSecondsToTimer(currentDuration));
// Running this thread after 100 milliseconds
mHandler.postDelayed(this, 100);
}
};
Jetzt möchte ich den Timer verwenden, die mit dem songCurrentDurationLabel
Textview verknüpft ist, wie auch in Fragment B.
Wie würde ich das Problem lösen?
Danke!
Sie sollten Ihre Benutzeroberfläche nicht von außerhalb Ihres Hauptthreads aktualisieren. – dazito
Können Sie bitte erklären? –
überprüfen Sie die Erklärung zu dieser Frage: http://stackoverflow.com/questions/4369537/update-ui-from-thread * aber * nicht AsyncTask verwenden, werden Sie später Probleme (wie Speicherlecks, wenn Sie die Gerät). Lesen Sie mehr darüber hier: http://simonvt.net/2014/04/17/asynctask-is-bad-and-you-should-feel-bad/ – dazito