我正在嘗試構建一個朋友跟蹤應用程序。現在我正在使用片段,並在每隔30秒的onCreateView
中更新跟蹤器,即我將從數據庫中取得我朋友的位置,並相應地在地圖中更新它。我曾嘗試這樣的:如何在android中每30秒更新一次片段視圖?
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.tracking_friend, null, false);
online = (TextView) v.findViewById(R.id.tvOnline);
lastseen = (TextView) v.findViewById(R.id.tvLastSeen);
tv_last_seen = (TextView) v.findViewById(R.id.textView2);
rel = (RelativeLayout) v.findViewById(R.id.reltrack);
mapFrag = (MapFragment) getFragmentManager()
.findFragmentById(R.id.tracking_map);
map = mapFrag.getMap();
map.setMyLocationEnabled(true);
map.getUiSettings().setZoomControlsEnabled(true);
map.getUiSettings().setCompassEnabled(true);
map.getUiSettings().setMyLocationButtonEnabled(true);
map.getUiSettings().setAllGesturesEnabled(true);
map.setTrafficEnabled(true);
Animation animation = AnimationUtils.loadAnimation(getActivity(), R.anim.slide_in_right);
rel.startAnimation(animation);
data = getArguments();
mail = data.getString("mail");
/* while (true) {
checkForPosition(mail);
return v;
}*/
while(true) {
new Thread(new Runnable() {
@Override
public void run() {
checkForPosition(mail);
Log.i("tracking","i am in thread");
}
}).start();
return v;
}
}
的問題是,它不調用checkForPosition()
方法一個時間。但之後,我需要調用checkForPosition()
方法以更新map.Is有跟蹤任何方式做它??
溝'TimerTask',只是使用'Handler'的'postDelayed(...)'方法。 –