2013-03-16 2 views
0

나는 ListView을 추가하고 삭제 옵션을 사용했지만 삭제 버튼을 클릭하면 데이터베이스 값이 삭제되지만 ListView은 새로 고쳐지지 않습니다. 나는 넣었습니다안드로이드에서 listview를 새로 고치는 방법?

adapter.notifyDataSetChanged(); 

그러나 목록은 새로 고침되지 않습니다.

+2

일부 Java 코드를 제공 할 수 있습니까? – Sajmon

+0

많은 잘못된 답변이 여기에 있습니다. 그냥'adapter.remove (item)'또는'adapter.add (item)'을 사용하면 잘 작동 할 것이고, 다른 메소드를 호출 할 필요가 없다. – vorrtex

+0

나는 또한이 문제에 직면했다. 그것을 해결하기 위해, 내가 한 일은 간단히 어댑터를 다시 초기화하고 listView (예 : listView.setAdpater (adapter))를 다시 설정하는 것이었다. – Rekha

답변

0

UI가 주 스레드 외부에서 업데이트됩니다. asynctask 내부 및 postexecute에있는 모든 논리를 넣어 호출 adapter.notifyDataSetChanged();

0

당신은보기가 오래된 및 redrawen되어야하는 프레임 워크를 이야기 할 수있는 ListView에 .invalidate(); 전화를해야!

1

runOnUiThread 안에 adapter.notifyDataSetChanged()을 호출하십시오.

YourActivity.this.runOnUiThread(new Runnable() { 
@Override 
public void run() { 
adapter.notifyDataSetChanged(); 
} 
}); 
+0

시도했지만 작동하지 않는 다른 해결책을 제공합니다. – Gomathi

관련 문제