마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

listview 에서 remove 가 되지 않습니다...도와주세요

0 추천
private class TextItemAdapter extends ArrayAdapter<TextItem> {
        public TextItemAdapter(Context context, int viewResourceId, ArrayList<TextItem> items) {
            super(context, viewResourceId, items);
            this.items = items;
            this.prevSelectedView = null;
        }
 
        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = convertView;

            TextItem item = this.items.get(position);
            
            if (item != null) {

          editText.setOnFocusChangeListener(new OnFocusChangeListener() {
           @Override
     public void onFocusChange(View v, boolean hasFocus) {
            sPosition = v.getId();
            sTxt = (TextView) v.getTag();
            EditText e = ((EditText) v);
            if (!e.getText().toString().equals("")) {
             if (hasFocus) {
              sum-=Integer.parseInt(textItemAdapter.getItem(sPosition).getCount())*Integer.parseInt(textItemAdapter.getItem(sPosition).getPrice());
              textItemAdapter.getItem(sPosition).setCount(e.getText().toString());

              sum+=Integer.parseInt(textItemAdapter.getItem(sPosition).getCount())*Integer.parseInt(textItemAdapter.getItem(sPosition).getPrice());
              String Sum=Integer.toString(sum);
                        newTotalView.setText(Sum);    
           
             }
            }
           }
          });
            }
            return view;
        }
              private class DeleteButtonClickListener implements OnClickListener {
            @Override
   public void onClick(View view) {
                View rowView = (View) view.getParent().getParent();
 
                TextView rowTextView = (TextView) rowView.findViewById(R.id.cartname);
   
                String rowText = rowTextView.getText().toString();
                
                for (int i = 0; i < textItemAdapter.getCount(); i++) {
                    TextItem item = textItemAdapter.getItem(i);
 
                    if ( rowText.equals(item.getText())  ) {
                        textItemAdapter.remove(item);
                        break;
                    }
                }
            }
        }
    }  

 

 

부분 코드만 복사해서 붙여넣기 했습니다

(중간중간 빠진 코드도 있어요~)

 

여기서 맨아래 코드인

textItemAdapter.remove(item); 에 문제가 있는듯 합니다

 

break; 을 없애면 listview 중에서 하나만 나타나며

이것은 remove가 됩니다 ....

 

하지만 여러개가 listview에 있을 때는 remove 가 되지 않습니다...

어떻게하면 될까요? ㅠㅠ도와주세요

 

초코수니 (150 포인트) 님이 2013년 2월 28일 질문

1개의 답변

0 추천
아이템을 삭제하면 항상 갱신을...

리스트뷰 notifidatasetchanged
건방진프로그래머 (26,630 포인트) 님이 2013년 2월 28일 답변
...