から両方の活動のテキストを更新し、I)MainActivity II)FavoriteActivityと非活動クラスRadioService。どちらのアクティビティも同じメソッド - notifyShowBar()の場合、[email protected]で定義されたテキストバーが表示されます。Androidの活動:定期的に、私は2つの活動を持って同じデータソース
活動がRadioServiceを呼び出したときに今、それは親アクティビティのバー、それが定期的にサーバから情報を取得し、TimerTaskをを作成し、示し
public class FavoriteActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onResume() {
super.onResume();
notifyShowBar();
}
public void notifyShowBar() {
....
textView.setText(revs.getMeta());
....
}
.....
MainActivity.java
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onResume() {
super.onResume();
notifyShowBar();
}
public void notifyShowBar() {
....
textView.setText(revs.getMeta());
....
}
.....
FavoriteActivity.java 。バーは15秒ごとに最新の情報を表示します。
private class ProgressTask extends AsyncTask<String, Void, Boolean> {
@Override
protected void onPostExecute(final Boolean success) {
updateMeta();
....
}
public void updateMeta() {
timerAsync = new Timer();
timerTaskAsync = new TimerTask() {
@Override
public void run() {
((Activity)context).runOnUiThread(new Runnable() {
@Override public void run() {
// get and set meta data here and then call createShowBar
createShowBar();
}
});
}
};
timerAsync.schedule(timerTaskAsync, 0, 15000);
}
private void createShowBar() {
if (RadioService.inwhich == 2) {
((FavoriteActivity) context).notifyShowBar();
} else {
((MainActivity) context).notifyShowBar();
}
}
.....
}
問題は、私はRadioServiceを呼び出すMainActivityでボタンを実行した場合、それは定期的にそこにバーや更新を示しています。しかしFavoriteActivityを参照すると、バーが表示されますが、定期的には更新されません。どちらのアクティビティでも、どうすれば実現できますか?ありがとう。
提案していただきありがとうございます。ユーザーはFavoriteActivityのinit RadioServiceもできます!その後、RadioServiceはtimertaskを作成し、FavoriteActivityのバーを定期的に更新し始めます。したがって、MainActivityの定期的な更新はありません。それは逆の状況です。何をすべきか? –
放送は火のようなものです。あなたが1つを送信し、誰かが聞いている場合、それを受け取るかもしれません。どちらのアクティビティーもリスニング、どちらか一方、または両方のリスニングを行うことができます。 – DariusL
それは完璧に働いてくれてありがとう。あなたは救済者です:D –