Retrofit2 всегда работает при сбое во фрагменте - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь поразить API локально, но метод onResponse не работает, метод всегда выполняется

class Categories : Fragment() {      
    lateinit var categories_recycler: RecyclerView      
    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?,  
                              savedInstanceState: Bundle?): View? {      
        val v = inflater!!.inflate(R.layout.fragment_categories, container, false)       
        categories_recycler = v.findViewById(R.id.categories_recycler)      
        categories_recycler.setHasFixedSize(true)      
        categories_recycler.layoutManager = LinearLayoutManager(activity)      
        retrofit()       
        return v          
    }  
    fun retrofit(){      
        val retrofit = RetrofitBuilder.instance     
        val client = retrofit.create(SkillClientRetrofit::class.java)    
        val call = client.CategoryNames()    
        call.enqueue(object : Callback<    List<  GetCatName>> {  
            override fun onResponse(call: Call<  List<  GetCatName>>, response: Response<  List<  GetCatName>>) {    
                if(response.isSuccessful) {  
                    activity.toast("this is success")  
                    val data = response.body()  
                    categories_recycler.adapter = CategoriesSkillAdapter(data!!)  
                }  
            }  
            override fun onFailure(call: Call<  List<  GetCatName>>, t: Throwable) {  
                activity.toast("this is error")  
            }  
        })  
    }  
}  

Ниже указано RetrofitBuilder:

object RetrofitBuilder {  
    private var r: Retrofit? = null  
    val instance:Retrofit  
        get(){  
            if(r == null){  
                r = Retrofit.Builder().baseUrl("<http://192.168.56.1:3000/>")  
                        .addConverterFactory(GsonConverterFactory.create())  
                        .build()  
            }  
            return r!!  
        }  
}  

Ниже представлен интерфейс:

public interface SkillClientRetrofit
{ @GET(" category/names") fun CategoryNames(): Call< List< GetCatName>> } 

Вот класс данных:

data class GetCatName( 
    @SerializedName("_id") val id: String,
    @SerializedName("category_name") val categoryName: String ) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...