2013-08-23 229 views
0

我必須在我的android應用程序的列表視圖中顯示來自mysql數據庫的數據。我已經成功解析了文本數據並將其顯示在自定義列表視圖中,但圖像未被解析並顯示在列表中。我曾嘗試使用imageloader,文件緩存,內存緩存,但仍未成功。從數據庫顯示和解析圖像到列表視圖

如果任何人有任何想法什麼是缺少或應該添加到它,任何幫助,將不勝感激。

public View getView(final int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    TextView tourname; 
    TextView duration; 
    ImageView flag; 

    inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View itemView = inflater.inflate(R.layout.list_row1, parent, false); 
// Get the position from the results 


// Locate the TextViews in listview_item.xml 
    tourname = (TextView) itemView.findViewById(R.id.themeTourList_title); 
    duration = (TextView) itemView.findViewById(R.id.themeTourList_price); 
    // Locate the ImageView in listview_item.xml 
    flag = (ImageView) itemView.findViewById(R.id.themeTourList_image); 

    // Capture position and set results to the TextViews 
    try 
    { 
     tourname.setText(mJSONArray.getJSONObject(position).getString("tour_name")); 
     duration.setText(""+mJSONArray.getJSONObject(position).getString("nights")+" Nights - "+mJSONArray.getJSONObject(position).getString("days")+" Days"); 
     try{ 
     URL url = new URL("www.futurolicht.com/"+mJSONArray.getJSONObject(position).getString("pic")); 
     Bitmap bitmap = BitmapFactory.decodeStream((InputStream)(url).getContent()); 
     flag.setImageBitmap(bitmap); 
     } 

回答

0

嘗試使用下面的方法來下載圖片:

URL url = new URL(src); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setDoInput(true); 
connection.connect(); 
InputStream input = connection.getInputStream(); 
Bitmap myBitmap = BitmapFactory.decodeStream(input); 
+0

嘗試但它沒有工作... – Divyang

0

如果我沒有誤解你的問題,這個環節一定會幫助你,我會寫的是定製的CursorAdapter

public class WhosNextAdapter extends CursorAdapter 
{ 
    public WhosNextAdapter(Context context, Cursor cursor, boolean autoRequery) { 
     super(context, cursor, autoRequery); 
    } 
@Override 
public void bindView(View view, Context context, Cursor cursor) { 
    //This is were you would check your cursor for style (I think that is 1,2,3 your column) 
    int style = cursor.getInt(cursor.getColumnIndex("style")); 

    ImageView img = (ImageView) view.findViewById(R.id.yourImageViewId); 

    switch (style) { 
     case 1: 
      img.setImageResource(R.drawable.yourImageForStyle1); 

     break; 
     case 2: 
      img.setImageResource(R.drawable.yourImageForStyle2); 

     break; 

//etc. 
     } 
    } 

    @Override 
public View newView(Context context, Cursor cursor, ViewGroup parent) { 
    //Inflate layout R.layout.artist_list_item 

    //Call bindView passing inflated layout, context, and cursor 

    //return layout 
} 
} 
相關問題