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