0

我的老板说我必须使用 Android Query,我找到了这个网站:http ://code.google.com/p/android-query/wiki/ImageLoading 但我尝试了:

  aq.id(R.id.image1).image("http://www.vikispot.com/z/images/vikispot/android-w.png");

在我的代码中,但我收到此错误:“aq 无法解析”我必须做什么才能初始化该 aq,我是否必须导入一些库?

这是我的列表视图适配器: public static class ListViewAdapterWall extends BaseAdapter { private LayoutInflater mInflater;

    public ListViewAdapterWall(Context context) {

        mInflater = LayoutInflater.from(context);

    }

    public int getCount() {
        return ListviewContentWall.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

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

        ListContent holder;

        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.listviewinflate, null);

            holder = new ListContent();
            holder.wallImage = (ImageView) convertView
                    .findViewById(R.id.wallImage1);
            holder.wallButton = (ImageButton) convertView
                    .findViewById(R.id.wallButton1);


            convertView.setTag(holder);
        } else {

            holder = (ListContent) convertView.getTag();
        }

        AQuery aq = new AQuery(convertView);

        aq.id(R.id.wallImage1).image("http://www.vikispot.com/z/images/vikispot/android-w.png");
        //holder.wallImage.setBackgroundDrawable(ListviewContentWall.get(position));
        //holder.wallButton.setBackgroundDrawable(ListviewContentWall.get(position));
        //holder.text2.setText(ListviewContent2.get(position));

        return convertView;
    }
4

3 回答 3

1

AQuery是一个视图的包装器。

初始化如下

AQuery aq = new AQuery(imageView);

此片段来自您提到的同一页面!

于 2012-07-20T06:27:01.087 回答
0

我不得不在互联网上搜索 lib: android-query-0.22.10.jar 并将其放在我的 libs 文件夹中才能正常工作

于 2012-07-20T07:03:27.020 回答
0

Android Query ImageLoading 有 recycle() 方法。

来自 android_query 的 Javadoc 说,recycle() 方法为

public T recycle(View root) 回收这个 AQuery 对象。该方法旨在避免重复创建 AQuery 对象,例如在列表适配器的 getView 方法中。

参数:

root - 回收的 AQuery 的新根。

回报:

自己

这是上述方法的源调整。

AQuery listAq = new AQuery(this);

public ListViewAdapterWall(Context context) {
    mInflater = LayoutInflater.from(context);
}

public int getCount() {
    return ListviewContentWall.size();
}

public Object getItem(int position) {
    return position;
}

public long getItemId(int position) {
    return position;
}

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

    ListContent holder;

    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.listviewinflate, null);

        holder = new ListContent();
        holder.wallImage = (ImageView) convertView
                .findViewById(R.id.wallImage1);
        holder.wallButton = (ImageButton) convertView
                .findViewById(R.id.wallButton1);


        convertView.setTag(holder);
    } else {

        holder = (ListContent) convertView.getTag();
    }

    AQuery aq = listAq.recycle(convertView);

    aq.id(R.id.wallImage1).image("http://www.vikispot.com/z/images/vikispot/android-w.png");
    //holder.wallImage.setBackgroundDrawable(ListviewContentWall.get(position));
    //holder.wallButton.setBackgroundDrawable(ListviewContentWall.get(position));
    //holder.text2.setText(ListviewContent2.get(position));

    return convertView;
}
于 2014-05-26T05:59:00.437 回答