当我从具有多个活动的Android应用程序拨打电话时,不会调用翻新电话

时间:2018-09-15 17:06:39

标签: android retrofit2

我是Android和翻新版的newbee。

当我有多个活动的android时,我在调用enque方法时遇到问题。

在一个示例中,我只有一个活动,下面的代码工作正常。我可以获取所需的字符串。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import java.util.List;

import androidpractice.udayrepo.com.androidpractice.retrofit.APIClass;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d("Main","I am  inside the Main");

        Retrofit retorfit=new Retrofit.Builder()
                .baseUrl(APIClass.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        APIClass api=retorfit.create(APIClass.class);

        Call<List<String>> call=api.getClassSubjectMapping();


        call.enqueue(new Callback<List<String>>() {
            @Override
            public void onResponse(Call<List<String>> call, Response<List<String>> response) {

                Log.d("Method","I am  inside the method");
                List<String> subjects=response.body();
                for(String str:subjects)
                    Log.d("Subject name : ",str);
            }

            @Override
            public void onFailure(Call<List<String>> call, Throwable t) {
                Log.d("Error",t.getMessage());
            }
        });
    }
}

在另一个示例中,我有两个活动Activity1和Activity2。当我单击Activity1时,我导航到Activity2。我复制了上面的相同代码。我可以调试“ Call<List<String>> call=api.getClassSubjectMapping();”,但是当执行call.enqueue时,只是从该方法中出来。在执行该步骤时,它甚至都没有进入onResponse方法内部。

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import java.util.List;

import classelearn.udayrepo.com.classelearn.api.APIClass;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class LearningSelector_Activity extends AppCompatActivity {

    protected  void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.learning_selector_layout);

        Retrofit retorfit=new Retrofit.Builder()
                .baseUrl(APIClass.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        APIClass api=retorfit.create(APIClass.class);

        Call<List<String>> call=api.getClassSubjectMapping();


        call.enqueue(new Callback<List<String>>() {
            @Override
            public void onResponse(Call<List<String>> call, Response<List<String>> response) {

                Log.d("Method","I am  inside the method");
                List<String> subjects=response.body();
                for(String str:subjects)
                    Log.d("Subject name : ",str);
            }

            @Override
            public void onFailure(Call<List<String>> call, Throwable t) {
                Log.d("Error",t.getMessage());
            }
        });

    }
}

不确定Android,改造或Sprint引导是否有问题。

有人可以帮我解决我哪里出问题吗?

0 个答案:

没有答案