Warum funktioniert mein JsonObjectRequest nicht?

7

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%     
Richie 25.03.2015, 04:36
quelle

6 Antworten

24

cast (String) null.

%Vor%     
rKrishna 25.03.2015 05:42
quelle
9

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

übergeben %Vor%     
Kushal Sharma 25.03.2015 12:24
quelle
3

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.

    
Max Pinto 25.03.2015 17:55
quelle
1

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%     
Julia92 26.01.2016 21:19
quelle
0

Es gibt einen mehrdeutigen Konstruktor. Um das zu lösen, verwenden Sie diesen Code:

%Vor%     
javadaskari 30.11.2015 18:04
quelle
0

Das Problem mit der Version von Volley. Auf deiner build.gradle-App-Datei solltest du

haben %Vor%     
paulomaranhao 23.10.2017 17:12
quelle

Tags und Links