0

私はサーバーから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");
    }
};
}
4

0 に答える 0