0

我有一个小型应用程序从我的服务器获取 json,我在调用执行函数时从线程获取 json,并通过回调mCallbackService 获取结果。我的问题,当调用 OnGetJSONFinish 函数时,如何在 onCreateView 中将数据设置为 TextView?

public class ServiceDetailFragment extends Fragment{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mCurrentIDCategory = getArguments().getString(ARG_ITEM_ID);
    mItemCategory = (CategoryObject) SpaJSONCategory.getListMap().get(mCurrentIDCategory);

    mSpaJSON = new SpaJSONService(getActivity());
    mSpaJSON.RegisterListener(mCallbackService);
// request JSON data from server
    mSpaJSON.execute(Constants.URL_SERVICE + mCurrentIDCategory); // Run in Thread. When done, it auto call callback **mCallbackService** 
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_service_detail, container, false);
    if (getArguments().containsKey(ARG_ITEM_ID)) {
        Log.e(TAG, "---create view");
        TextView text = ((TextView)rootView.findViewById(R.id.dichvu_detail));

    }

    return rootView;
}

private SpaJSONService.Callbacks mCallbackService = new SpaJSONService.Callbacks() {

    @Override
    public void OnGetJSONFinish(Object objectData) {
        Log.i(TAG, "get json ok");
        // objectData is value to set for TextView in **onCreateView**

    }

    @Override
    public void OnGetJSONError(String errorMessage) {
        Log.i(TAG, "get json ERROR");
    }
};
}
4

0 回答 0