加载 fragment 。 平滑滚动后数据出现。但又消失了
滚动内容上的 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/