2013-09-26 193 views
1

我有一個類,直到我嘗試使用JSONFunkcije類。 (刪除評論)Android的JSON:java.lang.RuntimeException:無法啓動活動ComponentInfo

TaksiDetalji.java:

public class TaksiDetalji extends Activity { 

String id; 
String ime; 
JSONFunkcije podatak; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.taksi_detalji); 
    Intent i = getIntent(); 

    // getting id 
    id = i.getStringExtra("id"); 
    podatak = = new JSONFunkcije(id); 
    List<String> sluzbice = new ArrayList<String>(); 
    sluzbice = podatak.DetaljiSluzbe(); 
    //EditText editText = (EditText)findViewById(R.id.editText1); 
    //Iterator <String> it = sluzbice.iterator(); 
    //ime = it.next(); 
    //editText.setText("ime"); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.taksi_detalji, menu); 
    return true; 
} 

    } 

當我刪除評論我收到以下錯誤:(不幸的是,Oceni Taksi已停止=沒有佈局加載)

09-26 21:29:26.258: E/AndroidRuntime(5815): FATAL EXCEPTION: main 
09-26 21:29:26.258: E/AndroidRuntime(5815): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ocenitaksi/com.example.ocenitaksi.TaksiDetalji}: java.util.NoSuchElementException 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.os.Looper.loop(Looper.java:137) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread.main(ActivityThread.java:5041) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at java.lang.reflect.Method.invoke(Method.java:511) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at dalvik.system.NativeStart.main(Native Method) 
09-26 21:29:26.258: E/AndroidRuntime(5815): Caused by: java.util.NoSuchElementException 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:572) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at com.example.ocenitaksi.TaksiDetalji.onCreate(TaksiDetalji.java:32) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.Activity.performCreate(Activity.java:5104) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 
09-26 21:29:26.258: E/AndroidRuntime(5815):  ... 11 more 

JSONfunkcije。 java

package com.example.ocenitaksi; 

import java.util.ArrayList; 
import java.util.List; 

import org.apache.http.NameValuePair; 
import org.apache.http.message.BasicNameValuePair; 
import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

public class JSONFunkcije { 
    List<String> niz; 

    private String ime_sluzbe; 
    private String id_taksiste; 


    //konstruktori 
    public JSONFunkcije(String ime_sluzbe , String id_taksiste){ 
     this.ime_sluzbe=ime_sluzbe; 
     this.id_taksiste=id_taksiste; 
    } 
    public JSONFunkcije(String ime_sluzbe){ 
     this.ime_sluzbe=ime_sluzbe; 
    } 


    //parser za zahteve 
    JSONParser jParser = new JSONParser(); 
    JSONArray products = null; 

    //adrese 
    private static String sluzbe = "http://android.yunews.net/sluzbe.php"; 
    private static String detalji_sluzba = "http://android.yunews.net/detalji_sluzba.php"; 
    private static String detalji_taksiste = "http://android.yunews.net/detalji_taksiste.php"; 

    //JSON TAGOVI 
    private static final String TAG_NAME = "ime"; 
    private static final String TAG_SUCCESS = "success"; 
    private static final String TAG_PRODUCTS = "products"; 
    private static final String TAG_BROJ = "broj"; 
    private static final String TAG_GLASOVI ="glasovi"; 
    private static final String TAG_TEKST = "tekst"; 
    private static final String TAG_OCENA = "ocena"; 
    private static final String TAG_KOMENTARI="komentari"; 


    protected List<String> ListaSluzbi(){ 
     niz=new ArrayList<String>(); 

     List<NameValuePair> params = new ArrayList<NameValuePair>(); 
     JSONObject json = jParser.makeHttpRequest(sluzbe, "GET", params); 

     try { 
      // Checking for SUCCESS TAG 
      int success = json.getInt(TAG_SUCCESS); 

      if (success == 1) { 
       // products found 
       // Getting Array of Products 
       products = json.getJSONArray(TAG_PRODUCTS); 

       // looping through All Products 
       int i=0; 

       for (i = 0; i < products.length(); i++) { 
        JSONObject c = products.getJSONObject(i);     
        niz.add(c.getString(TAG_NAME)); 
       } 
      } 
     } 
     catch (JSONException e) { 
      e.printStackTrace(); 
     } 

     return niz; 

    } 

    protected List<String> DetaljiSluzbe(){ 

     List<NameValuePair> params = new ArrayList<NameValuePair>(); 

     params.add(new BasicNameValuePair("ime",ime_sluzbe)); 

     JSONObject json = jParser.makeHttpRequest(detalji_sluzba,"POST", params); 

     params=new ArrayList<NameValuePair>(); 

     //json=jParser.makeHttpRequest(detalji_sluzba,"GET", params); 

     try { 
      // Checking for SUCCESS TAG 
      int success = json.getInt(TAG_SUCCESS); 

      if (success == 1) { 
       // products found 
       // Getting Array of Products 
       products = json.getJSONArray(TAG_PRODUCTS); 

       // looping through All Products 
       int i=0; 

       for (i = 0; i < products.length(); i++) { 
        JSONObject c = products.getJSONObject(i);     
        niz.add(c.getString(TAG_NAME)); 
        niz.add(c.getString(TAG_BROJ)); 
        niz.add(c.getString(TAG_GLASOVI)); 
        niz.add(c.getString(TAG_OCENA)); 
        niz.add(c.getString(TAG_TEKST)); 
       } 


      } 
     } 
     catch (JSONException e) { 
      e.printStackTrace(); 
     } 
     return niz; 

    } 


    protected List<String> DetaljiTaksiste(){ 
     niz=new ArrayList<String>(); 

     List<NameValuePair> params = new ArrayList<NameValuePair>(); 

     params.add(new BasicNameValuePair("sluzba",ime_sluzbe)); 
     params.add(new BasicNameValuePair("taksista",id_taksiste)); 

     JSONObject json = jParser.makeHttpRequest(detalji_sluzba,"POST", params); 
     params=new ArrayList<NameValuePair>(); 

     //json=jParser.makeHttpRequest(detalji_taksiste,"GET", params); 

     try { 
      // Checking for SUCCESS TAG 
      int success = json.getInt(TAG_SUCCESS); 

      if (success == 1) { 
       // products found 
       // Getting Array of Products 
       products = json.getJSONArray(TAG_PRODUCTS); 

       // looping through All Products 
       int i=0; 

       for (i = 0; i < products.length(); i++) { 
        JSONObject c = products.getJSONObject(i); 
        niz.add(c.getString(TAG_OCENA)); 
        niz.add(c.getString(TAG_GLASOVI)); 
        niz.add(c.getString(TAG_KOMENTARI)); 
       } 

      } 
     } 
     catch (JSONException e) { 
      e.printStackTrace(); 
     } 

     return niz; 
    } 

} 

我認爲在JSON中的問題,我相信問題是在JSONfunkcije.java中,但我找不到任何東西。

TNX, Djomla

回答

2

的問題是在JSONFunkcije.java在DetaljiSluzba()。

我忘了niz=new ArrayList<String>();

現在的工作。 TNX。

相關問題