我截取了它的截圖。它顯示一些奇怪的方式: GridView沒有正確顯示
這是代碼。
的GridAdapter:
public class GridViewAdapter extends BaseAdapter {
private Context mContext;
private ArrayList<Uri> mUrls;
// references to our images
public GridViewAdapter(Context c, ArrayList<Uri> images) {
mContext = c;
this.mUrls = images;
}
public int getCount() {
return mUrls.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
ImageView inflatedImageView = (ImageView) mInflater.inflate(R.layout.imageview_amb_background, null);
//ImageView imageView = new ImageView(mContext);
inflatedImageView.setImageURI(mUrls.get(position));
inflatedImageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
return inflatedImageView;
}
而且inflatedImageView
是佈局膨脹,像這樣:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="120dp"
android:layout_height="120dp"
android:background="@drawable/bgimages"
android:maxWidth="120dp"
android:padding="5dp">
</ImageView>
在另一方面,我有一個GridView在一個XML文件:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnWidth="250dp"
android:horizontalSpacing="5dp"
android:numColumns="3"
android:verticalSpacing="5dp" >
</GridView>
所以,我膨脹了這個gridView,我在一個循環中添加了幾個URI(3個)。一旦添加,我將適配器設置爲gridview:
ArrayList<Uri> uriFotos = new ArrayList<Uri>();
HashMap<Integer, ListItem> items = xmlList.getItems();
for (int i = 0; i<items.size();i++){
ListItem itemActual = items.get(i);
itemActual.getLogoSrc();
uriFotos.add(Uri.parse(Environment.getExternalStorageDirectory().toString()+rutaFinsCarpetaClient+itemActual.getLogoSrc()));
}
gridViewInflated.setAdapter(new GridViewAdapter(this,uriFotos));
variableContent.addView(gridViewInflated);
圖像正確「鏈接」。
variableContent
是一個ScrollView內的LinearLayout,所以網格應該可以滾動。 但正如你所看到的,有幾件事情正在發生:
- 身高很大。難道不應該像
inflatedImageView
所說的那樣? - 滾動無法正常工作。那麼,它的工作,但我必須移動手指,並點擊幾次,直到它的工作。如果我停止滾動,我必須重複相同的過程,直到它再次發生反應。(求助)
希望你們能幫助我。我已經改變了很多佈局,改變了寬度,高度,同樣的事情正在發生。
請注意,您看到的圖像位於gridView中,類似於1200x800px。
編輯 相同的代碼與較小的圖像:
的刪除背景圖像,並設定爲機器人:從XML – Senthil
SRC你嘗試過設置在GridView柱高度機器人:layout_height = 「WRAP_CONTENT」? – nedaRM
@vsk我不能那樣做。背景是整個視圖的背景,然後dinamically我在sdcard中的JPG文件添加SRC圖像。所以我必須同時擁有:bg和src。順便說一下,這個bg是162x162。白色。帶有邊框。 – Reinherd