0

上司がAndroidQueryを使用する必要があると言ったので、次のサイトを見つけました: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を初期化するにはどうすればよいですか、libをインポートする必要がありますか?

これは私のリストビューアダプタです。publicstaticclassListViewAdapterWall 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オブジェクトをリサイクルします。このメソッドは、リストアダプタのgetViewメソッドの場合など、AQueryオブジェクトが繰り返し再作成されないように設計されています。

パラメーター:

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 に答える