Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 此令牌后应出现令牌variabledeclaratorid上的语法错误_Java_Android_Mobile - Fatal编程技术网

Java 此令牌后应出现令牌variabledeclaratorid上的语法错误

Java 此令牌后应出现令牌variabledeclaratorid上的语法错误,java,android,mobile,Java,Android,Mobile,我在下面的一行中得到了“此令牌后应出现的令牌variabledeclaratorid语法错误” 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.and

我在下面的一行中得到了“此令牌后应出现的令牌variabledeclaratorid语法错误”

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



}
package com.example.test;
导入org.json.JSONObject;
导入android.app.Activity;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入com.androidquery.AQuery;
公共类测试活动扩展了活动{
私人水渠;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
listAq=新的水渠(本);
ArrayAdapter aa=新的ArrayAdapter(此,R.layout.activity_main,项目){
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
if(convertView==null){
convertView=GetLayoutFlater()。充气(R.layout.activity_main,null);
}
JSONObject jo=getItem(位置);
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”,“publisher”));
字符串tb=jo.optJSONObject(“image”).optString(“tbUrl”);
aq.id(R.id.tb).进度(R.id.progress).映像(tb,true,true,0,0,null,AQuery.FADE_IN_NETWORK,1.0f);
返回视图;
}
};
}

在创建时将此移动到内部

 AQuery listAq = new AQuery(this);
 ArrayAdapter<JSONObject> aa = new ArrayAdatper<JSONObject>(this, R.layout.activity_main, items){
 ....
AQuery listAq=新的AQuery(本);
ArrayAdapter aa=新的ArrayAdapter(此,R.layout.activity_main,项目){
....

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

首先,在下面的陈述中:

listAq = new AQuery(this);
ArrayAdapter<JSONObject> aa = new ArrayAdatper<JSONObject>(this, R.layout.activity_main, items){
listAq属于哪种类型?它没有在代码中定义,它必须是类似的类型

AQuery listAq;
listAq = new AQuery(this);
当您尝试使用“this”进行初始化时,它代表当前对象。在调用构造函数之前不会创建当前对象。构造函数在变量初始化之后被调用。因此,您的语句在系统和逻辑上都是错误的。您需要在非静态方法中移动此语句来初始化列表Aq对象

另一个有问题的说法是:

listAq = new AQuery(this);
ArrayAdapter<JSONObject> aa = new ArrayAdatper<JSONObject>(this, R.layout.activity_main, items){
ArrayAdapter aa=新的ArrayAdapter(此,R.layout.activity\u主项目){

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

listAq=new AQuery(this);这是什么statemetn?move
listAq=new AQuery(this)
在onCreate方法中初始化,并确保声明了一个名为
listAq
的变量。它看起来像是
private AQuery aq;
本来打算成为
private AQuery listAq;
。在这里提问时,每次修复一行代码需要几周时间。我建议您完成一些基本操作“Hello world”Java教程,然后再尝试处理Android。@westnblue看起来您没有声明变量
listAq
,它不应该是
AQuery listAq=new AQuery(此)
。试试这个并通知。@westnblue项目在哪里?是的,我发布的代码是从谷歌复制粘贴的…希望我能从演示中获得完整的源代码。appop没有提到
项目
。可能是一个列表,也没有初始化。