2014-04-24 2 views
0

SimpleAdapter을 사용하여 Listview를 생성했습니다. ListView의 각 행마다 다른 그림을 설정하고 싶습니다. 다음 코드를 작성했지만 이미지는 첫 번째 행에만 설정됩니다. 나머지 행에 대한 그림 설정 방법. 단계별로 설명해주십시오.안드로이드에서 SimpleAdapter를 사용하여 Listview에서 Listview의 이미지를 동적으로 설정하는 방법?

내 코드는 다음과 같습니다 :

연락처 연장 조각

ArrayList<HashMap<String, String>>val=new ArrayList<HashMap<String,String>>(); 
val=db.getTaskSent(name); 
    ListAdapter k=new SimpleAdapter(getActivity(),val,R.layout.senttaskdata,new String[]{"rname","heading","desc","id","path","receiver","sender"},new int[]{R.id.textView1,R.id.textView2,R.id.textView3,R.id.hide1,R.id.hide2,R.id.hide3,R.id.hide4}) 
    { 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     final View v = super.getView(position, convertView, parent); 
     TextView picpath=(TextView)v.findViewById(R.id.hide2); 
     ImageView picture=(ImageView)v.findViewById(R.id.imageView1); 
     String p=picpath.getText().toString(); 
     File f = new File(p); 
     //ImageView mImgView1 = (ImageView)findViewById(R.id.imageView2); 
     Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath()); 
     picture.setImageBitmap(bmp); 

     return super.getView(position, convertView, parent); 
    } 

    }; 
    sent.setAdapter(k); 
+2

단지'대신 v' 반환'super.getView (위치, convertView, 부모)을 반환;' – Raghunandan

답변

1
ArrayList<HashMap<String, String>>val=new ArrayList<HashMap<String,String>>(); 
val=db.getTaskSent(name); 
    ListAdapter k=new SimpleAdapter(getActivity(),val,R.layout.senttaskdata,new String[]{"rname","heading","desc","id","path","receiver","sender"},new int[]{R.id.textView1,R.id.textView2,R.id.textView3,R.id.hide1,R.id.hide2,R.id.hide3,R.id.hide4}) 
    { 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     final View v = super.getView(position, convertView, parent); 
     TextView picpath=(TextView)v.findViewById(R.id.hide2); 
     ImageView picture=(ImageView)v.findViewById(R.id.imageView1); 
     String p=picpath.getText().toString(); 
     File f = new File(p); 
     //ImageView mImgView1 = (ImageView)findViewById(R.id.imageView2); 
     Bitmap bmp = BitmapFactory.decodeFile(f.getAbsolutePath()); 
     picture.setImageBitmap(bmp); 

     return v; 
    } 

    }; 
    sent.setAdapter(k); 
관련 문제