ListView每行有一个删除按钮,点击按钮后,如何获取ItemID ?注意不是position;   positon我已经 可以在  自定义适配器里 getView中可以获得了,问题是我现在 需要 Item的 行号(递增),而不是相对    position;。    

解决方案 »

  1.   

      public View getView(int position, View convertView, ViewGroup parent) {             
                       ViewHolder holder = null;  
                       if (convertView == null) {  
                        
                           holder=new ViewHolder();                            convertView = mInflater.inflate(R.layout.vlist2, null);  
                           //holder.img = (ImageView)convertView.findViewById(R.id.img);  
                           holder.title = (TextView)convertView.findViewById(R.id.title);  
                           holder.info = (TextView)convertView.findViewById(R.id.info);  
                           holder.viewBtn = (Button)convertView.findViewById(R.id.view_btn);  
                           convertView.setTag(holder);                            
                     }else {  
                     
                         holder = (ViewHolder)convertView.getTag();                    }  
                    //holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));                    holder.title.setText((String)mData.get(position).get("title"));  
                     holder.info.setText((String)mData.get(position).get("info"));
                     
                     holder.viewBtn.setTag( position);  //gxw+
                     holder.viewBtn.setOnClickListener(new View.OnClickListener() {                     @Override 
                      public void onClick(View v) {  
                       //showInfo();  
                      
                       int position = Integer.parseInt(v.getTag().toString());        
                    
                        //如何根据positon获取 按钮 所 在 的 list Item 的 ID???
                       //long itemID = ((Adapter) lv.getAdapter
    ()).getItemId(position);
                    
                         // mData.remove(position);  
                       MyAdapter.this.notifyDataSetChanged();
                   }                });                   return convertView;  
             } 
      

  2.   

    可以获取ListView中你点击的那个View的HashMapHashMap<String,Object> map=(HashMap<String, Object>)lv.getItemAtPosition(position);通过map就可以获取view上的所有键值啦
      

  3.   

    itemID跟position不一样的么?为什么要itemID,点击删除以后要实现什么操作?
      

  4.   


    貌似是不一样的, position是相对于那一屏显示的条目的位置, 往下拉的时候就会有变化了..我有做过listview这方面的, 但是做法和楼主的不太一样.
      

  5.   

    为什么我用这个方法得到的是一个NULL呢