1

에서 특정 항목 (카드보기)을 업데이트하는 방법 MainActivty 내부에 Fragment가 있으며이 내부에 cardView가있는 기사의 RecyclerView (이 카드 안에는 버튼과 같은 카운터가 있습니다)와 사용자가 cardView는recyclerview OnActivityResult

것을 DetailsActivity 열립니다 나는 업데이트 할 onBackPressed 때 그냥이 항목이 바로이 항목을 업데이트하는 방법

DetailsActivity

에서 (버튼과 같은 카운터처럼) 변경된 데이터에 의존 싶어?

죄송합니다.

+1

적절한 수정을 위해 코드를 첨부하십시오. –

+0

https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html#notifyItemChanged%28int%29 –

답변

2

먼저 어댑터의 특정 위치 항목의 데이터를 업데이트하십시오.

그 전화 notifyItemChanged(int) 후 업데이트하는 position에있는 항목이 변경된 것을, 등록 된 관찰자를 통지 특정 CardViewRecyclerView

의. 전화와 동등한 것 notifyItemChanged(position, null);

이것은 구조 변경 이벤트가 아닌 항목 변경 이벤트입니다. position에있는 데이터 반영이 오래되어 업데이트해야 함을 나타냅니다. position의 항목은 동일한 ID를 유지합니다.

+0

좋아,이 항목의 위치 및 개체 모델을 (OnBackPressed를 통해) 보냈습니다. DetailsActivity에서 MainActivity로 (RecyclerView를 보유하는 Fragment를 보유 함). MainActivity에서 (OnActivityResult를 통해) 그것을 받았다. MainActivity에서이 위치와 객체 모델을 보내어 notifyItemChanged (position, payload)를 수행하는 프래그먼트로 보내는 방법입니다. – abdu

+0

업데이트 항목에 대한 단편에서 하나의 메소드를 만들고'OnActivityResult'에서 수신했을 때'MainActivity'에서 호출하십시오 –

+0

이 메서드를 조각에 추가하고 MainAnctivity에서 호출했습니다. public void updateItem (int position) { if (myAdapter! = null) { myAdapter.notifyItemChanged (position); } } 및 myAdapter null이 발생했습니다. – abdu