私はサーバーからjsonを取得する小さなアプリケーションを持っています.execute関数を呼び出すとスレッドから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");
}
};
}