我正在尝试构建一个朋友跟踪应用程序。现在我正在使用片段,并在每隔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(...)'方法。 –