android - listView 项目在 android 2.3 的滚动中消失

标签 android android-layout listview android-listview

enter image description here加载 fragment 。 enter image description here平滑滚动后数据出现。但又消失了

滚动内容上的 Android ListView 仅在 2.3 中变得不可见。 适用于 4.0 及更高版本。 问题是当我滚动 ListView 时,数据消失并且只显示图像。 如果我平滑滚动并点击一两秒。在列表上,数据将显示,但在滚动时,数据会消失。

下面是我的适配器代码 -

public class RestaurantListAdapter extends BaseAdapter {
    private ArrayList<RestaurantList> restaurantList;
    private LayoutInflater inflater;
    private ImageLoader imageLoader;
    private Context context;
    private ViewHolder viewHolder = null;
    DisplayImageOptions options;

    public RestaurantListAdapter(Activity activity,
            ArrayList<RestaurantList> restaurantList) {
        this.context = activity;
        this.restaurantList = restaurantList;

        this.inflater = LayoutInflater.from(this.context);

        imageLoader = ImageLoader.getInstance();
        options = new DisplayImageOptions.Builder().cacheInMemory(true)
                .cacheOnDisc(true).bitmapConfig(Bitmap.Config.RGB_565).build();
    }

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

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

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

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

        if (convertView == null) {
            viewHolder = new ViewHolder();

            convertView = inflater.inflate(
                    R.layout.restaurant_list_item_layout, null);

            viewHolder.restaurantNameTextView = (TextView) convertView
                    .findViewById(R.id.restaurantNameTextView);
            viewHolder.restaurantAddressTextView = (TextView) convertView
                    .findViewById(R.id.restaurantAddressTextView);
            viewHolder.restaurantPinTextView = (TextView) convertView
                    .findViewById(R.id.restaurantPinTextView);
            viewHolder.restaurantPhoneTextView = (TextView) convertView
                    .findViewById(R.id.restaurantPhoneTextView);
            viewHolder.favoriteImageButton = (ImageButton) convertView
                    .findViewById(R.id.favoriteImageButton);


            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }

        RestaurantList restaurant = restaurantList.get(position);

        viewHolder.restaurantNameTextView.setText(restaurant
                .getRestaurantName());
        viewHolder.restaurantAddressTextView.setText(restaurant
                .getRestaurantAddress());
        viewHolder.restaurantPinTextView.setText(restaurant.getRestaurantPin());
        viewHolder.restaurantPhoneTextView.setText(restaurant
                .getRestaurantPhone());
        viewHolder.favoriteImageButton.setFocusable(false);

        viewHolder.restaurantNameTextView.setVisibility(View.VISIBLE);


        return convertView;
    }

    static class ViewHolder {
        TextView restaurantNameTextView;
        TextView restaurantAddressTextView;
        TextView restaurantPinTextView;
        TextView restaurantPhoneTextView;
        ImageButton favoriteImageButton;
        ImageView restaurentImageView;
    }

}

最佳答案

简单添加

android:cacheColorHint="@android:color/transparent" 到您的 xml 布局中的 ListView

关于android - listView 项目在 android 2.3 的滚动中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21597163/

相关文章:

java - 将 jar 库注入(inject) apk 应用程序

java - 在哪里输入@Override?

android - eclipse 未检测到它一天前检测到的设备

android - 是否可以更改 EditText 中图标的大小

android - listview在android中的每个列表项中都有viewpager

java - OnListItemClick 只工作一次

android - 旋转的垂直按钮不与左父对齐

java - (EditText)Android 联系人列表获取电话号码

android - 游标 getPosition 始终为 0

java - Android Studio ListView 自定义