2013-07-06 8 views
6

Im się „błąd składni na symboliczną variabledeclaratorid oczekiwanym po tym dowód” na poniższej liniibłąd składni na symboliczną variabledeclaratorid oczekiwanym po to żeton

listAq = new AQuery(this); 

Oto mój pełny kod

package com.example.test; 

import org.json.JSONObject; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.ArrayAdapter; 

import com.androidquery.AQuery; 

public class TestActivity extends Activity { 



    private AQuery aq; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 



    } 

    listAq = new AQuery(this); 

    ArrayAdapter<JSONObject> aa = new ArrayAdatper<JSONObject>(this, R.layout.activity_main, items){ 


     @Override 

     public View getView(int position, View convertView, ViewGroup parent){ 

      if(convertView == null){ 
      convertView = getLayoutInflater().inflate(R.layout.activity_main, null); 
      } 

      JSONObject jo = getItem(position); 

      AQuery aq = listAq.recycle(convertView); 
      aq.id(R.id.name).text(jo.optString("titleNoFormating", "No Title")); 
      aq.id(R.id.meta).text(jo.optString("publisher", "")); 

      String tb = jo.optJSONObject("image").optString("tbUrl"); 
      aq.id(R.id.tb).progress(R.id.progress).image(tb,true, true,0,0,null,AQuery.FADE_IN_NETWORK,1.0f); 
      return convertView; 
     } 
    }; 



} 
+0

listAq = new AQuery (this); co to jest statemetn? – kosa

+2

move 'listAq = new AQuery (this);' initialization inside onCreate method –

+0

* AND * upewnij się, że masz zmienną zadeklarowaną z nazwą 'listAq'. Wygląda na to, że 'private AQuery aq;' miało być 'private AQuery listAq;'. –

Odpowiedz

8

Move to w środku onCreate

+0

wydaje się generować więcej błędów. Czy możesz opublikować pełny przykład – westnblue

+0

po błędach. – Raghunandan

+0

listaAq nie może zostać przekształcona w zmienną – westnblue

1

Kilka widocznych problemów z kodem

Pierwszy na poniższym stwierdzeniem:

listAq = new AQuery(this); 

listAq to jakiego typu? To nie jest zdefiniowane w kodzie To musi być somehting jak

AQuery listAq; 
listAq = new AQuery(this); 

Jak próbują zainicjować z „tego”, to oznacza dla bieżącego obiektu. Bieżący obiekt nie zostanie utworzony, dopóki twój konstruktor nie zostanie wywołany. Konstruktor jest wywoływany po inicjalizacji zmiennych. Więc twoje oświadczenie jest logicznie i logicznie błędne. Musisz przenieść tę instrukcję w niestatyczną metodę, aby zainicjować obiekt listAq;

Innym problemem stwierdzenie:

ArrayAdapter<JSONObject> aa = new ArrayAdatper<JSONObject>(this, R.layout.activity_main, items){ 

Trzeba przenieść ponownie ten kod do sposobu uruchamiania. W java musisz mieć wszystkie wykonywalne instrukcje w metodzie. Tylko deklaracje zmiennych klasy/instancji mogą znajdować się poza metodą/konstruktorami.

+0

op nie wspomniał o "przedmiotach". Prawdopodobnie jest to lista, która również nie została zainicjowana. – Raghunandan

Powiązane problemy