使用回调线程在Fragment中添加数据以查看(TextView)

时间:2013-06-27 06:18:27

标签: android callback refresh fragment

我的服务器有一个小应用程序get 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");
    }
};
}

0 个答案:

没有答案