Bonjour j'ai fait une application qui reçoit une list json dans un recyclerView bref tout fonctionne avec mon serveur local mais si je met l'adresse de mon serveur OVH ça ne fonctionne plus ,la Database est la même et les script php aussi donc je ne comprend pas pourquoi rien ne s'affiche dans mon recyclerView le Logcat m'affiche ça : E/RecyclerView: No adapter attached quand je met le lien de mon serveur ovh.
public class ListActivity extends AppCompatActivity {
RecyclerView mrecyclerView;
private RequestQueue queue;
private MysqlRequest request;
List<Location> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
Intent intent = getIntent();
String type = "";
type = intent.getStringExtra("location");
queue = MySingleton.getInstance(this).getRequestQueue();
request = new MysqlRequest(queue, this);
request.checkLocationType(type, new MysqlRequest.LocationCallback() {
@Override
public void onSuccess(List<Location> list) {
mrecyclerView = findViewById(R.id.recyclerview);
GridLayoutManager gridLayoutManager = new GridLayoutManager(ListActivity.this,1);
mrecyclerView.setLayoutManager(gridLayoutManager);
MyAdapter myAdapter = new MyAdapter(ListActivity.this,list);
mrecyclerView.setAdapter(myAdapter);
}
@Override
public void dontExist(String message) {
}
@Override
public void onError(String message) {
}
});
}
}
public class MysqlRequest {
private RequestQueue queue;
private Context context;
private String type ;
LatLng latLng;
public MysqlRequest(RequestQueue queue, Context context){
this.queue = queue;
this.context = context;
}
public void checkLocationType(final String type, final LocationCallback callback){
String url = "http://carte-05.fr//location//locationcontroller.php?view="+type;
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
List<Location> list = new ArrayList<>();
try {
JSONArray jsonArray = response.getJSONArray("location");
for (int i = 0; i < jsonArray.length(); i++){
JSONObject location = jsonArray.getJSONObject(i);
String nom = location.getString("nom");
String lieu = location.getString("ville");
String description = location.getString("description");
String telephone = location.getString("telephone");
String imgurl = location.getString("imageurl");
Double lat = location.getDouble("lat");
Double lng = location.getDouble("lng");
Location singleLocation = new Location(nom,lieu,description, telephone,imgurl,lat,lng);
list.add(singleLocation);
}
callback.onSuccess(list);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
if(error instanceof NetworkError){
callback.onError("Connection impossible");
}else if (error instanceof ServerError){
callback.dontExist("Cette location n'existe pas");
}
Log.d("APP", "ERROR = " + error);
}
});
queue.add(request);
}
public interface LocationCallback{
void onSuccess(List<Location> list);
void dontExist(String message);
void onError(String message);
}
}
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.