Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)
1. ViewPager에서 Fragment를 호출해서 쓸때, 아래와 같은 에러가 발생했다.
Avoid non-default constructors in fragments: use a default constructor plus Fragment#setArguments(Bundle)
2. Fragment에 데이터를 넘기려고, 생성자에 데이터를 넘겼는데, 이때문에 APK 컴파일할때 오류가 발생했다.
public class ClassName {
public ClassName(String data){} // 문제가 되는 부분
}
3. 해결방법은 setArguments(Bundle) 으로 데이터를 넘겨주는 방법을 쓰도록 한다.
(1) 데이터를 보낼때는 setArguments를 이용한다.
@Override
public Fragment getItem(int position) {
FragComlimentMainItem fragComlimentMainItem = new FragComlimentMainItem();
Bundle bundle = new Bundle();
bundle.putParcelable("DATA", this.complimentList.get(position));
fragComlimentMainItem.setArguments(bundle);
return fragComlimentMainItem;
}
(2) 데이터를 받을때는 getArgument으로 Bundle을 받아, 데이터를 활용한다.
Bundle data = getArguments();
this.complimentListBean = data.getParcelable("DATA");