1

나는 틴더처럼 카드를 스 와이프하여 앱을 만들려고합니다. Texview에 텍스트가있는 Texview가 있습니다. 다음 카드를 스 와이프하면 다른 텍스트가 표시됩니다. 또한 내가하고 싶은 것은 화면에서 카드를 제거하고 다음 버튼으로 이동하기 위해 버튼을 클릭 할 때입니다. 목록에서 첫 번째 String을 제거하고 adapter.notifyDataSetChange를 호출합니다. 문제는 화면의 텍스트가 똑같이 유지된다는 것입니다. 클릭 할 때마다 문자열이 제거됩니다. 나도 어댑터에 값을 기록하고 그것들이 바뀌고 카드의 수가 떨어지고 있지만 화면의 텍스트는 그대로 유지됩니다. NotifyDataSetChanged가 호출되지 않았습니다.

내가 전화 onResponse에서 데이터를 다운로드

는 flingContainer 내가 호출 버튼을 클릭하면

list.remove(0); 
myAppAdapter.notifyDataSetChanged(); 

이 내 어댑터입니다 어댑터 뷰 AdapterView

myAppAdapter = new MyAppAdapter(list, this); 
flingContainer.setAdapter(myAppAdapter); 

을 확장 사용자 정의보기입니다

public class MyAppAdapter extends BaseAdapter { 

    public List<String> parkingList; 
    public Context context; 

    private MyAppAdapter(List<String> apps, Context context) { 
     this.parkingList = apps; 
     this.context = context; 
    } 


    @Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 

     View rowView = convertView; 

     if (rowView == null) { 

      LayoutInflater inflater = getLayoutInflater(); 
      rowView = inflater.inflate(R.layout.item, parent, false); 
      viewHolder = new ViewHolder(); 
      ViewHolder.background = (FrameLayout) rowView.findViewById(R.id.background); 
      viewHolder.cardImage = (TextView) rowView.findViewById(R.id.cardImage); 

      rowView.setTag(viewHolder); 
     } else { 
      viewHolder = (ViewHolder) convertView.getTag(); 
     } 
     viewHolder.cardImage.setText(parkingList.get(position)); 

     return rowView; 
    } 
} 

답변

1

list.remove(0)으로 전화하면 목록의 첫 번째 색인이 삭제되지 않습니다. 귀하의 어댑터. 실제로 목록의 복사본을 어댑터으로 전달합니다. 그래서 (0) 어댑터에 removeItem() 추가가 list.remove를 호출 할뿐만 아니라 작동하도록 :

public void removeItem(int index){ 
     parkingList.remove(index); 
     notifyDataSetChange(); 
} 
+0

내가 시도 하나 너무 그러나 그것은 나를 위해 didnt 한 일뿐만 아니라 많은 다른 것들, 그러나 시간이 무엇을 일부 후 나는 나를 위해 일한'removeAllViewsInLayout()'notifyDataSetChange() 전에 발견했다. 그러나 나는 아직도 왜이 didnt가 작동하는지 모른다. – tinoba

+0

removeItem (index) & list.remove()를 호출해야합니까? – Amir

+0

인스턴스를 다시 확인하십시오. 이 경우 removeAllViewsInLayout은 전혀 권장되지 않습니다. – Amir

관련 문제