重新加載一個ListView後重新加載一個ListView從數據庫中加載一個ListView的片段,它是一個用戶之前選擇的收藏列表,當您單擊列表項時,它會啓動一個活動並且用戶將能夠看到細節和不適當的項目問題是當用戶不滿意一個項目,並按回到fave列表片段的視圖仍然顯示第一個列表列表視圖不是更新的。我想知道如何當你開始一個活動回來片段的生命週期將努力再次知道在哪裏使用GoogleApiClient獲得的用戶,所以我用它來裝載位置,以實現我在從活動0123回到活動
adapter.notifyDataSetChanged()
林在我onConnected梅索德數據庫:
@Override
public void onConnected(@Nullable Bundle bundle) {
LocationServices.FusedLocationApi.requestLocationUpdates(
mLocationClient, mLocationRequest, this);
if ( ContextCompat.checkSelfPermission(getContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// You need to ask the user to enable the permissions
} else {
LocationTracker tracker = new LocationTracker(getContext()) {
@Override
public void onLocationFound(@NonNull Location location) {
currentLocation = location;
}
@Override
public void onTimeout() {
}
};
tracker.startListening();
}
if (currentLocation ==null) {
currentLocation = LocationServices.FusedLocationApi.getLastLocation(mLocationClient);
}
if (ContextCompat.checkSelfPermission(getActivity(), android.Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(), new String[]{android.Manifest.permission.ACCESS_COARSE_LOCATION},
PERMISSION_ACCESS_COARSE_LOCATION);
}
if (currentLocation != null) {
//Loading LAT LOng of //arkers on map
for(int i=0; i<storedfavoritesitem.size(); i++) {
FavoriteModel Faveitem = storedfavoritesitem.get(i);
String locality = Faveitem.name;
int id = Faveitem.id;
double lat = Faveitem.lat;
double lon = Faveitem.lon;
Location location = new Location("Beach");
location.setLatitude(lat);
location.setLongitude(lon);
float distance = currentLocation.distanceTo(location);
mResualt.add(new SearchResualtClass(id, distance/1000, locality));
}
Comparator<SearchResualtClass > comperator = new Comparator<SearchResualtClass>()
{
@Override
public int compare(SearchResualtClass object1, SearchResualtClass object2) {
float First = object1.getDistance();
float Second = object2.getDistance();
return (First < Second ? -1 : (First == Second ? 0 : 1));
}
};
Collections.sort(mResualt, comperator);
adapter = new CustomAdapterSearch(getActivity().getApplicationContext(),mResualt);
exList.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
exList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Intent intent = new Intent(view.getContext(), FragmentBeach.class);
intent.putExtra("array", jsonArray.toString());
SearchResualtClass item = (SearchResualtClass) parent.getItemAtPosition(position);
intent.putExtra("id", item.getId());
startActivity(intent);
}
});
}
這取決於當你在數據裝載...也'adapter.notifyDataSetChanged()'是不是魔法棒刷新 – Selvin
我uptadet我的問題有m個y代碼 – Blacksword
After Unfavorite後,再做3件事1:從列表中刪除該項目。 2:從數據庫中刪除該數據。 3:在需要時重新載入列表上的項目。 –