我有一个活动,我有一个菜单图标,当我按下动画开始的图标时,这是为了在加载数据时显示一些反馈,所以我想在应用程序停止同步数据时停止动画,问题是在TabActivity中我启动动画,在MyHandler中我管理同步进度
这里我开始动画(BaseActivity):
public boolean onOptionsItemSelected(MenuItem item) {
Animation animation = AnimationUtils.loadAnimation(this, R.anim.sync_anim);
animation.setRepeatCount(Animation.INFINITE);
findViewById(R.id.update_data).startAnimation(animation);
Animation a = AnimationUtils.loadAnimation(this, R.anim.sync_anim);
findViewById(R.id.update_data).startAnimation(a);
这里是数据完成同步(MyHandler):
@Override
public void run() {
Calendar calendar = Calendar.getInstance();
String str = new SimpleDateFormat("yyyy-MM-dd",java.util.Locale.getDefault()).format(calendar.getTime());
str = "2015-08-01";
MyHandler.this.context.getSharedPreferences("DateTime",Context.MODE_PRIVATE).edit().putString("user_time", str).commit();
if ((n > 100) && (n < 200)) {
Log.e("MyHandler", "100 200");
MyApplication.CloseLoadingProgress();
String strtoShowToast = new SimpleDateFormat("dd MMM yyyy",java.util.Locale.getDefault()).format(calendar.getTime());
Globals.lastUpdateDate = strtoShowToast;
MyHandler.this.context.getSharedPreferences("DateTime",Context.MODE_PRIVATE).edit().putString("user_time", new SimpleDateFormat("yyyy-MM-dd",java.util.Locale.getDefault()).format(calendar.getTime())).commit();
Toast.makeText(MyApplication.getInstance(),
context.getResources().getString(R.string.bluetooth_updateDataNow)+" "+strtoShowToast,Toast.LENGTH_SHORT).show();
}
答案 0 :(得分:0)
解决方案是在MyHandler上发送广播接收器并在我的BaseActivity上接收它