2016-12-01 3 views
1

angezeigt werden, wenn ich den Code im Debugging ausführe, funktioniert es gut und gibt die gewünschte Ausgabe. aber wenn ich seinen normalen Modus ausführe, stürzt er ab und gibt über Ausnahme hinaus. Erste Fehler, wenn ich einen Artikel über Adapter in seine Baseclass m hinzufügenWie kann ich ein Element hinzufügen, indem ich auf seine Adapterklasse klicke und seine Daten auf der Symbolleiste in Android

HashMap<String,String> mMapWishList = new HashMap<String, String>(); 
       String id = mProducts.getSingleProductId.get(position); 
       String name = mProducts.getSingleProductName.get(position); 
       String price = mProducts.getSingleProductPrice.get(position); 
       String oldPrice = mProducts.getSingleProductOldPrice.get(position); 
       String discount = mProducts.getSingleProductDiscount.get(position); 
       String description = mProducts.getSingleProductDescription.get(position); 

nur einen Artikel bekommen Wie kann ich mehrere Artikel hinzufügen? immer diese Fehlermeldung LogCatt Fehler

FATAL EXCEPTION: main 
                                    java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0 
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255) 
at java.util.ArrayList.get(ArrayList.java:308) 
atcom.example.dev.newkhreedapp1.views.adapters.Product_Adapter$1.onClick(Product_Adapter.java:193) 
at android.view.View.performClick(View.java:5198) 
at android.view.View$PerformClick.run(View.java:21147) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

warum es ist so zu verhalten, keine Ahnung zu bekommen. Danke für jede Hilfe.

+0

weil Ihre Arraylist keinen Artikel hat, auf den Sie klicken möchten –

+0

Produkte mProducts = new Products(); @Diveyesh, ich greife auf Artikel aus einer anderen Klasse –

+0

Fehler zeigt, dass Ihre Arrylist hat keine Elemente und Sie versuchen, das erste Element davon zugreifen –

Antwort

0

Die einzige Sache, die mir in den Sinn kommt, ist, dass Sie Ihre mProducts asynchron erhalten, so während des Debuggens ist es genug Zeit, Daten zu empfangen, aber während des Betriebsmodus ist es fehlgeschlagen. Sie sollten diesen Code ausführen, nachdem Ihre Produkte vom Server abgerufen wurden.
Oder eine andere Art und Weise nicht diesen Fehler zu erhalten, ist eine Überprüfung hinzufügen:

if (mProducts.size() > position) { 
    String id = mProducts.getSingleProductId.get(position); 
    String name = mProducts.getSingleProductName.get(position); 
    String price = mProducts.getSingleProductPrice.get(position); 
    String oldPrice = mProducts.getSingleProductOldPrice.get(position); 
    String discount = mProducts.getSingleProductDiscount.get(position); 
    String description = mProducts.getSingleProductDescription.get(position); 
} 

Der Absturz verschwunden sein sollte, aber Sie werden wahrscheinlich nicht Daten, die Sie brauchen.

+0

Zavernuity Es funktioniert nicht .... gibt es andere Lösung –

+0

@Dinesh_Yogi Können Sie den Code von was ist 'mProducts' bereitstellen. Nach meinem Verständnis ist es das Objekt Ihrer benutzerdefinierten Klasse –

+0

Produkte mProducts = new Products(); Wo Produkte eine andere Klasse sind –

Verwandte Themen