我有一个片段,它会召唤一个自定义的CursorAdaper并将其显示在ListView上
。问题是当我添加新数据时,我希望通过changeCursor()
从另一个活动更改光标,如何访问片段上显示的CursorAdapter?
答案 0 :(得分:0)
基本上你必须将数据从一个Activity传递到另一个Activity并让你选择的片段接收数据(给定Activity的每个片段可能获得启动/重新启动/恢复Activity的Intent。)
考虑这段代码
- 传递数据:
String[] myListEntries = getNewListContents();
Intent updateList = new Intent(this, ActivityThatListFragmentBelongsTo.class);
updateList.putExtra("updated_list", myListEntries);
startActivity(updateList);
- 接收数据(片段中):
@Override
public void onResume() {
Intent wasStartedWithData = getActivity().getIntent();
String[] updatedList = wasStartedWithData.getStringArrayExtra("updated_list");
// pass updatedList to adapter
}
现在,您实际上可能拥有比数组字符串更复杂的数据。在这种情况下 你可以创建一个实现'Parcelable'(http://developer.android.com/reference/android/os/Parcelable.html)并调用的类 意图上的putExtra(Parcelable parcel)/ getParcelableExtra(String name)。