如何从另一个活动访问片段方法

时间:2014-03-08 14:55:24

标签: android android-fragments

我有一个片段,它会召唤一个自定义的CursorAdaper并将其显示在ListView上 。问题是当我添加新数据时,我希望通过changeCursor()从另一个活动更改光标,如何访问片段上显示的CursorAdapter?

1 个答案:

答案 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)。