Ich habe schon seit ein paar Tagen damit herumhantiert. Konnte es nicht richtig machen. Android Studio lässt mich nicht mit diesem Fehler kompilieren. Also, ich habe diese Anwendung, wo ich zwei Tabs und zwei Fragmente habe. Ein Fragment wird als neu bezeichnet, und dieses Fragment ruft json ab. Aber ich konnte es nicht richtig machen. Ich habe ein Bild hochgeladen, wie der Fehler aussieht, und die Klassendateien. Können Sie mir bitte helfen?
Fehler: "Kann den Konstruktor JsonObjectRequest (int, java.lang.String, null .......) nicht auflösen.
new_fragment.java
%Vor%VolleySingleton
%Vor% new JsonObjectRequest
nimmt den dritten Parameter als String requestBody
setzt null auf String
oder Sie können eine Null-Zeichenfolge wie String rBody = null;
erstellen und dann rBody
als 3. Parameter
Nun, ich sehe die Situation, und es passiert, weil, wie Ihr Fehler sagt, der Konstruktor nicht existiert.
Wenn Sie JsonObjectRequest als Standard verwenden und eine Get-Methode konsumieren möchten, müssen Sie den Null-Parameter nicht senden, Sie sollten nur folgendermaßen senden:
Ändern Sie dies:
%Vor%Dafür:
%Vor%Wie Sie sehen können, ich entfernen Sie einfach den Parameter für die JsonObject, weil die Methode Get, und es ist ein Konstruktor, das ist annehmen, dass Sie JsonObject senden nicht.
Eine andere Lösung besteht darin, ein eigenes JsonObjectRequest zu erstellen und diese Art von Werten zu akzeptieren.
Grüße.
Für alle, die dies jetzt implementieren möchten: Google hat den jsonObjectRequest-Konstruktor geändert: Sie liefern jetzt nicht mehr den Anfragetyp, sondern geben zuerst die URL und dann null als zweiten Parameter ein, wenn Sie eine Anfrage erhalten möchten. z.B.:
%Vor%Es gibt einen mehrdeutigen Konstruktor. Um das zu lösen, verwenden Sie diesen Code:
%Vor%Das Problem mit der Version von Volley. Auf deiner build.gradle-App-Datei solltest du
haben %Vor%