我有它由上胡亞蓉,我創造了一些元素,然後我上保存ListFragment此元素的應用程序。這種東西工作正常,但是當我嘗試從列表中刪除一個元素時出現問題。
簡而言之,當我刪除一個元素時,listFragment不會刷新。如果我回到主Activity,然後再次輸入到ListFragment,那麼我刪除的元素不會出現,但是在我刪除元素的時刻刷新此列表。
不得不說,我有點困惑,因爲一開始這樣做是正確的,但我不知道我曾經觸摸過什麼,現在不這樣做。
CODE
這是ListFragment的相關代碼片段:
public class MyPlacesListFragment extends ListFragment {
//...
final class PlacesCursorAdapter extends ResourceCursorAdapter {
//...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getAdapter();
}
public void getAdapter() {
Cursor c = getActivity().getContentResolver().query(PlacesProvider.CONTENT_URI, PROJECTION, null, null, null);
mCursorAdapter = new PlacesCursorAdapter(getActivity(), c);
setListAdapter(mCursorAdapter);
}
private void deleteItem(long id){
Uri uri = ContentUris.withAppendedId(PlacesProvider.CONTENT_URI, id);
getActivity().getContentResolver().delete(uri, null, null);
}
我不得不說,我的數據庫和ContentProvider的工作,但這些做工精細,我和其他測試,他們應用。
另外,我呼籲插入,更新有NotifyChange(),並刪除供應商的方法是這樣的:
getContext().getContentResolver().notifyChange(uri, null);
您是否嘗試在適配器上調用'notifyDataSetChanged()'? –
爲什麼jQuery標籤? – Archer
@ super-qua我試過了,但我不知道我做得不錯。我應該在哪裏準確地稱呼它? – masmic