首页 > 解决方案 > 将数据的 MatrixCursor 从 Activity 传递到 Fragment

问题描述

这个问题的核心是如何将一个 MatrixCursor 的数据从一个活动发送到一个片段。

我正在我的活动中执行搜索功能,并返回一个片段,其中包含一个列表,该列表将填充来自查询响应的数据,即矩阵光标。

到目前为止,Bundle 和 parcelable 对我来说并不适用。任何提示或指导?

标签: androidbundleparcelablematrixcursor

解决方案


使界面可搜索

public interface Searchable {
     MatrixCursor getSearchResult() 
}

确保为您的活动实现此接口。

public MainActivity extends AppCompatActivity implements Searchable {

    private MatrixCursor mSearchResultMatrixCursor;
    ...
    @Override public MatrixCursor getSearchResult() {
         return mSearchResultMatrixCursor;
    }    
}

在你 Fragment 的 onCreate 或任何你想使用 MatrixCursor 的地方,

你可以打电话,

if(getActivity != null && getActivity instanceOf Searchable) {
         MatrixCursor matrixCursor = ((Searchable)getActivity).getSearchResult()
}

只要不重新创建活动,这将持续存在。


推荐阅读