반응형

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");




반응형