0

Android アプリのリストビューに mysql データベースのデータを表示する必要があります。テキスト データを正常に解析してカスタム リストビューに表示しましたが、画像が解析されず、リストに表示されません。イメージローダー、ファイル キャッシュ、メモリ キャッシュを使用してみましたが、まだ成功していません。

何が足りないか、何を追加する必要があるかについて誰かが考えている場合は、助けていただければ幸いです。

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);
        }
4

2 に答える 2

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);
于 2013-08-23T10:14:26.473 に答える
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
}
}
于 2013-08-23T10:15:15.157 に答える