일반적인 시나리오가 있지만이를 처리하는 방법을 찾을 수 없습니다.이전 활동의 데이터를 변경하는 방법
각 항목마다 클릭 가능한보기가 다른 ListView가 있습니다. 그중 1은 친구로 추가하십시오. 항목의 사용자 이름 옆에있는 버튼.
그래서 ListViewAdapter의 getView()에서는이 방법으로이 버튼에 대해 onClick을 구현했습니다.
onClick(){
//make the button invisible, for UX
//change the value of is_friend = 1, in the Adapter ArrayList, which will be helpful when listView is scrolled and getView is called again, to make it visible or invisible.
//Send the info to the server as an AsyncTask
}
이 작동합니다.
문제 :
대신 친구 단추로 추가 클릭, 나는 자신의 프로필로 이동 사용자 이름을 클릭하고 그 활동에 친구로 추가 버튼을 클릭 할 수 있습니다.
이제 ArrayView 어댑터가 서버에서 가져온 이전 데이터를 가지고 있기 때문에 ListView로 컴백하면 친구로 추가 버튼이 계속 표시됩니다. 사용자 이름을 클릭하면
나는에 startActivityForResult 생각했다. 하지만 난 ListView로 컴백하지 않을 수도 있습니다. 친구로 추가, 사용자 프로필에 다른 많은 작업이 있습니다.친숙한 사례가 여러 앱에서 쉽게 처리됩니다. 이것이 어떻게 이루어 졌는지에 대한 아이디어가 있습니까?
작업 아래의 답변 비록 :
당신은EDIT 감사드립니다. 그들은 최선의 방법이 아닙니다.
그래서 더 나은 방법은 listViewAdapter의 정적 메서드를 호출하여 해당 값을 해당 ArrayList에서만 업데이트하는 것일 수 있습니다. ??
해결책은 (추가 친구에 TRUE로 전환) 정적 부울을 가질 수 있고 이전 활동의 onResume()에서 당신은 왜 당신은 그냥 다시 채 웁니다하지 않습니다이 부울을 확인하고 목록 – Faizan
를 업데이트 할 수 있습니다 onResume의 ArrayList? – gsingh2011
1 개의 작은 변경에 대해 100 개 이상의 항목 전체를 다시 채울 수 없습니다. ( –