0

このクラスはbaseadapterを拡張します

public View getView(int position, View convertView, ViewGroup parent) {
    if (!imagepath[position].toString().equals("no picture")) {
        imageLoader.DisplayImage(imagepath[position], imageview);
    }
}

public void DisplayImage(String url, ImageView imageView) {
    imageViews.put(imageView, url);
    Bitmap bitmap = memoryCache.get(url);
    if (bitmap != null) {
        imageView.setImageBitmap(bitmap);
    } else {
        queuePhoto(url, imageView);
    }
}

最初のビューは最初に表示のみをチェックする必要がありますが、チェック後に表示するとします。

if (!imagepath[position].toString().equals("no picture")) {

        titletext.setPadding(imageview.getWidth() + 5, 0, 0, 0);
        datetext.setPadding(imageview.getWidth() + 5, 0, 0, 0);
        imageview.setVisibility(View.VISIBLE);
        imageLoader.DisplayImage(imagepath[position], imageview);
    } else {
        imageview.setVisibility(View.INVISIBLE);
        imageview.setImageDrawable(null);
        titletext.setPadding(0, 0, 0, 0);
        datetext.setPadding(0, 0, 0, 0);
    }

    titletext.setText(title[position].toString());
    categorytext.setText(category[position].toString());
    datetext.setText(date[position].toString());

textview setpaddingを最初に表示し、その逆ではないようにします。

これを解決する方法は?

4

1 に答える 1

6

、 put else 条件もListView再利用するためですViews

public View getView(int position, View convertView, ViewGroup parent) {
    if (!imagepath[position].toString().equals("no picture")) {
        imageLoader.DisplayImage(imagepath[position], imageview);
    }
    else{
        imageview.setImageResource(android.R.color.transparent);
        // OR
        imageview.setImageDrawable(null);
    }
}
于 2012-05-10T05:42:51.583 に答える