0

Android プロジェクトで Picasso ライブラリを使用しています。メインアクティビティに ListView があります。すべての行項目は、SAXParser を使用して解析された XML からのデータで埋められます。リスト項目を処理するカスタム リスト アダプターを作成しました。ピカソで画像の遅延読み込みを実現するにはどうすればよいですか。これが私のコードです(カスタムアダプターの):

public class PicassoAdapter extends BaseAdapter {

    private Activity activity;
    private ArrayList<HashMap<String, String>> data;
    private static LayoutInflater inflater=null;

    public PicassoAdapter(Activity a, ArrayList<HashMap<String, String>> d)
    {
        activity = a;
        data=d;
        inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public int getCount() {
         return data.size();
    }


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

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

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi=convertView;
        if(convertView==null)
            vi = inflater.inflate(R.layout.list_item, null);

        TextView title = (TextView) vi.findViewById(R.id.pid); // title
        ImageView image = (ImageView) vi.findViewById(R.id.slika1);//  slika

        HashMap<String, String> song = new HashMap<String, String>();
        song = data.get(position);

        Log.i("&&&&&&&&&&&&&&&",data.get(0).get(MainActivity.KEY_TITLE));

        // Setting all values in listview
        title.setText(song.get(MainActivity.KEY_TITLE));
        Picasso.with(vi.getContext()).load(song.get(MainActivity.KEY_THUMB_URL)).into(image);  
        return vi;
    }
}
4

1 に答える 1

0

そのListViewrequireプレースホルダーのために

Picasso.with(vi.getContext())
    .load(song.get(MainActivity.KEY_THUMB_URL))
    .placeholder(R.drawable.user_placeholder)
    .error(R.drawable.user_placeholder_error)
    .into(image);
于 2018-01-31T07:41:07.563 に答える