2017-07-19 39 views
0

我想編寫一個簡單的應用程序,它從數據庫獲取信息並將其顯示在行中。一個textview,一個複選框和一個ImageView。 一切工作正常,但它只是忽略Imageview。有什麼特別的嗎?ImageView在使用自定義適配器的ListView中完全不顯示

我試圖用一個完全空的佈局,只有imageview。仍然只是創建一個空的空間。我嘗試使用股票android圖標或其他圖像,什麼都沒有。儘管在空白布局中使用顏色作爲imageview的背景似乎會創建一個彩色方形區域。

有什麼想法?

謝謝你的時間。

- 編輯

行佈局代碼

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/item_name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" 
     android:textColor="@color/colorPrimaryDark" 
     android:textSize="24sp" 

     android:layout_marginLeft="11dp" 
     android:layout_marginStart="11dp" 
     android:layout_alignTop="@+id/item_icon" 
     android:layout_toRightOf="@+id/item_icon" 
     android:layout_toEndOf="@+id/item_icon"/> 

    <TextView 
     android:id="@+id/item_id" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="TextView" 
     android:layout_alignBottom="@+id/item_icon" 
     android:layout_alignLeft="@+id/item_name" 
     android:layout_alignStart="@+id/item_name"/> 

    <CheckBox 
     android:id="@+id/item_status" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="65dp" 
     android:layout_marginEnd="65dp" 
     android:layout_alignBottom="@+id/item_id" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true"/> 

    <ImageView 
     android:id="@+id/item_icon" 
     android:layout_width="50dp" 
     android:layout_height="50dp" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="30dp" 
     android:layout_marginStart="30dp" 
     android:layout_marginTop="32dp" 
     app:srcCompat="@mipmap/ic_launcher_round"/> 

</RelativeLayout> 

- 這是我的適配器代碼

public View getView(int position, View view, ViewGroup viewGroup) { 
     View v=View.inflate(context,R.layout.item_layout,null); 
     TextView raidname=(TextView)v.findViewById(R.id.item_name); 
     TextView raidid=(TextView)v.findViewById(R.id.item_id); 
     ImageView raidicon=(ImageView)v.findViewById(R.id.item_icon); 
     CheckBox status=(CheckBox)v.findViewById(R.id.item_status); 
     raidname.setText(Raidlist.get(position).r_name()); 
     raidid.setText(String.valueOf(Raidlist.get(position).r_id())); 
     if(Raidlist.get(position).r_status().equals("alive")) 
     { 
      status.setChecked(true); 
     } 
     try 
     { 
      URL urlConnection = new URL(Raidlist.get(position).r_image()); 
      HttpURLConnection connection = (HttpURLConnection) urlConnection.openConnection(); 
      connection.setDoInput(true); 
      InputStream input = connection.getInputStream(); 
      Bitmap bmp = BitmapFactory.decodeStream(input); 
      raidicon.setImageBitmap(bmp); 
     } 
     catch(Exception ex) 
     { 
      //... 
     } 
     v.setTag(Raidlist.get(position).r_id()); 
     return v; 
    } 

回答

0

,因爲我沒有足夠的聲譽做一個評論我會做這條路。

你確定bmp裏面有實際數據嗎?

編輯: 在另一個帖子我看了,它可以幫助比例縮放位圖,同時設置它

raidicon.setImageBitmap(Bitmap.createScaledBitmap(BMP,120,120,FALSE));

+0

那麼我的問題開始與ImageView它自..甚至沒有股票圖標或res目錄中的圖像正在顯示。但是他們在主要活動中相當不錯。和no,scaledBitmap方法不起作用:/ ..我感謝您的評論,無論名譽。畢竟我剛開始學習:) –

0

我已通過代碼設置資源解決了該問題。 (.setImageResource ...) 謝謝大家:)

相關問題