android - 在我的父 Activity 中调用一个方法并将一个值返回给 fragment

标签 android

我创建了一个父 Activity ,并将 fragment 添加到父 Activity 中。 但是我需要在父 Activity 中调用一个函数(HTTP 请求)并在 fragment Activity 中返回结果。但是我可以使用

从 fragment 访问函数
 String stage = ((TabActivity)getActivity()).fetchStage(tabid,"12");

但该值未在 fragment 阶段变量中接收..

我的 TabActivity 函数:

public String fetchStage(String tabid,String userId){
        Log.e("URL","http://35.184.41.163/phpmyadmin/app/demo/getstage.php?tabid="+tabid+"&userid="+userId);
        RestClientHelper.getInstance().get("http://35.184.41.163/phpmyadmin/app/demo/getstage.php?tabid="+tabid+"&userid="+userId, new RestClientHelper.RestClientListener() {
            @Override
            public void onSuccess(String response) {
                try {
                    Log.e("onSUcess Stage","onSUcess Stage");
                    JSONObject stageresponse = new JSONObject(response);
                    JSONArray posts = stageresponse.optJSONArray("stage");
                    for (int i = 0; i < posts.length(); i++) {
                        JSONObject post = posts.optJSONObject(i);
                        stage = post.optString("stage");
                        Log.e("onSUcess FOR","onSUcess FOR"+stage);
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public void onError(String error) {
                Log.e("onError Stage","onError Stage");
                stage = "stage1";
            }
        });
        Log.e("STAGE",stage);
        return stage;
    }

最佳答案

您的其余客户端正在异步进行网络调用。所以,您的 onSuccess 会在一段时间后调用。您应该在您的 fragment 中声明一个公共(public)函数,并从 onSuccess 方法中调用它。

关于android - 在我的父 Activity 中调用一个方法并将一个值返回给 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49049370/

相关文章:

android - 在 fragment 中注册和注销 BroadcastReceiver

android - 在 Recyclerview 中下载图片

android - 在 Android 中向 WebView 或相机添加叠加层

Android:在新 Activity 上暂停和重新启动音频,但在屏幕旋转时暂停和恢复

java - 如何从适配器类中的 onClick 方法加载 fragment

android - Gallery 在 Android 中显示阴影

android - Xamarin UI 测试获取有关设备和应用程序版本的信息

android - "Do not recreate the service, unless there are pending intents to deliver."是什么意思?

AsyncTask 的 doInBackground 中的 android.os.NetworkOnMainThreadException

android - Jetpack 撰写 : MutableState<Boolean> not working as intended