2011-11-30 3 views
1

구문 분석 된 목록보기가 있습니다. 요소의 수는 고정되어 있지 않습니다. listview의 항목을 클릭하면 필요한 다른 활동에 해당 파일이 표시됩니다. 지금까지이 모든 것이 내가 원하는대로 작동하고 있습니다. 이제 각 목록 항목에 미리보기 이미지를 표시하려고합니다. 클릭 할 때마다 열리는 파일은 ".png"파일이며 목록에 미리보기 이미지로 해당 PNG를 표시하려고합니다 (각 항목의 해당 미리보기 이미지가 있음) 어떻게하면됩니까 ?? 나는 안드로이드에 새로운 그래서 plz 코드 샘플을 도와주세요. 나는 alot 검색을하고 게으른 로딩 종류의 물건을 읽었지만 매우 복잡하다. 미리 도움을 청합니다!각 Listitem에 미리보기 이미지 표시

+0

는 지금까지 코드를 게시 할 수 당신에게 도움이 될 몇 가지 튜토리얼의 목록입니다? – SERPRO

답변

2

어댑터의 listView를 확장해야하고 어댑터의 getView() 메소드에서 사용자 정의 레이아웃을 지정해야합니다. 이미지를

public class GetImage extends AsyncTask<ImageView, Void, ImageView> { 

    String url = null; 
    Bitmap thumbnail = null; 
    public GetImage(String url){ 
     this.url = url; 
    } 
    @Override 
    protected void onPreExecute() { 

    } 

    @Override 
    protected ImageView doInBackground(ImageView... params) { 

     try { 
      thumbnail = BitmapFactory.decodeStream((InputStream) new URL(url).getContent()); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return params[0]; 

    } 

    @Override 
    public void onPostExecute(ImageView result) { 
     result.setImageBitmap(thumbnail); 

    } 
} 
+0

@triggs .... 미리보기 이미지를 다운로드해야합니다. 내 사용자 지정 어댑터의 이미지 뷰에이를 어떻게 설정할 수 있습니까? – Noman

+0

AysncTask를 사용하여 이미지보기 ass 매개 변수를 비동기 작업에 전달하거나 ImageView를 확장하고 AsyncTask를 여기에 넣으십시오.이 두 가지 방법을 사용하여이 작업을 수행했습니다. 이미지를 얻으려면 AsyncTask로 내 대답을 편집합니다. – triggs

+0

@triggs ... 예. 대답을 편집 할 수 있습니다. 2 일 동안 나를 위해 매우 힘든되었습니다. – Noman

2

가장 좋은 방법을 다운로드

private class MyAdapter extends ArrayAdapter</*params*/> { 

    private ArrayList</*params*/> items; 

    //you will a reference to a context in getView() 
    private Context ctx; 

    public MyAdapter(Context context, int resourceId, ArrayList</*params*/> items) { 
      super(context, resourceId, items); 
      this.items = items; 
      this.ctx = context; 
    } 

//here is where you can create a custom view for each list item 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

      View v = convertView; 
      if (v == null) { 
       LayoutInflater vi = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       v = vi.inflate(R.layout.my_custom_view, null); 

       //Your custom view will contain an ImageView 
       //which you can assign the thumbnail to. 
       ImageView image = (ImageView)convertView.findViewById(R.id.my_custom_view_thumbnail); 

       //set the thumbnail from a drawable resource 
       new GetImage("http://www.example.com").execute(image); 

      } 

      return v; 
    } 
} 

사용자 지정 목록보기 행을 확인하는 것입니다 그리고 그것은 당신이 당신의 이미지를 표시 할 수있는 이미지 뷰를 가질 수 있습니다. 여기

Custom List View tutorial 1 Custom list view tutorial2

+0

나는 (URL에서 Downlaoded) .. 이미지를 추가하고 싶습니다 Logged – Noman

관련 문제