2016-11-06 4 views
2

RecyclerView의 항목을 다른 클래스에서 제거하려면 어떻게합니까? 정적 인 메소드를 사용하지 않기를 바란다. 왜냐하면 결국 많은 메소드가 생성되고 버그가 발생하기 때문이다. 다른 해결책이 있습니까?RecyclerView 다른 클래스의 항목 제거

BottomSheetFragment에서 제거하고 싶습니다.

답변

0

처럼이를 구현해야보다 당신은 그것에 대해 Life Cycle를 사용할 수 있습니다. 통신을위한 인터페이스를 만드는 것뿐입니다.

interface RemoveItemSignal{ 
    void onRemove(); 
} 

그런 다음 리스너를 등록하십시오.

Signal<RemoveItemSignal> signal = SignalBag.Inject(RemoveItemSignal.class); 
signal.addListener(this); // Your listener that implements RemoveItemSignal 

그리고 당신의 조각에서이 같은 신호 전달할 수 있습니다

Signal<RemoveItemSignal> signal = SignalBag.Inject(RemoveItemSignal.class); 
signal.dispatcher.onRemove(); 
1

communicating with other fragments 문서를 읽었습니까? BottomSheetFragment 내부에서 청취자 인터페이스의 동작을 담당 할 리스너 인터페이스를 생성 할 것을 제안합니다. 당신의 activity

public static class MainActivity extends Activity 
    implements BottomSheetFragment.OnActionSelectedListener{ 
... 

public void onActionSelected(int position) { 
    // The user did some action from the BottomSheetFragment 
    // Do something here to remove item from the RecyclerView 
} 
} 
관련 문제