此标记后预期的令牌variabledeclaratorid上的语法错误

时间:2013-07-06 03:41:26

标签: java android mobile

我在下一行

上获得“此令牌后预期的令牌变量声明的语法错误”
  listAq = new AQuery(this);

这是我的完整代码

 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;
        }
    };



}

2 个答案:

答案 0 :(得分:9)

将其移至onCreate

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

答案 1 :(得分:1)

您的代码中几乎没有可见的问题

首先在下面的陈述中:

listAq = new AQuery(this);

listAq是哪种类型的?它没有在你的代码中定义它必须像

一样
AQuery listAq;
listAq = new AQuery(this);

当您尝试使用'this'初始化时,这代表当前对象。在调用构造函数之前,不会创建当前对象。变量初始化后调用构造函数。因此,您的陈述既是历史性的,也是逻辑错误的。您需要在非静态方法中移动此语句以初始化listAq对象;

另一个有问题的陈述:

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

您需要再次将此代码移动到要运行的方法。在java中,您需要在方法中包含所有可执行语句。只有类/实例变量声明可以在方法/构造函数之外。