2013-10-01 59 views
0

在我的代碼後按下相機按鈕onActivityResult調用(作爲意圖的結果)。在這種方法中,我已經編寫代碼在listView中添加捕獲的圖像。我想要的是,當我第二次拍攝圖像時,listView中的第一張圖像不應該消失。如果我拍攝了三次圖像,則應該有三個listview項目。我的代碼每次捕捉圖像時只顯示一個項目。我已經嘗試了很多,無法弄清楚。 謝謝。追加攝像機圖像在列表框中的ANdroid

ArrayList<HashMap<String, Object>> hashMapListForListView=new ArrayList<HashMap<String,Object>>();  

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 



     super.onActivityResult(requestCode, resultCode, data); 


     if(resultCode == Activity.RESULT_OK) 
     {  
    if (requestCode == take_image) { 

     //get image 
       final Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); 

      Viewimage.setImageBitmap(thumbnail); 

       Adapter=new SimpleAdapter(this,hashMapListForListView,R.layout.imageview2,new String[]{"image"}, new int[]{R.id.imageView2}); 


      HashMap<String, Object>temp11=new HashMap<String, Object>(); 
      //Drawable d = new BitmapDrawable(getResources(),thumbnail); 
      temp11.put("image",thumbnail); 

      hashMapListForListView.add(temp11); 
      listviewattachment.setAdapter(Adapter); 
      Adapter.setViewBinder(new MyViewBinder()); 
      Adapter.notifyDataSetChanged(); 

回答

0

它的發生只是因爲你在onActivityResult()創建適配器每次。第二件事是,不需要通過使用setAdapter()來一次又一次地設置適配器,但僅需要notifyDataSetChanged()

更新:

正如你在評論說,你想刪除列表項,請嘗試:

Object toRemove = arrayAdapter.getItem([POSITION]); 
arrayAdapter.remove(toRemove); 
+0

感謝帕雷什..它是working..can你告訴我怎樣可以刪除任何我不喜歡列表中的項目? – user2768215