MainActivity에는 myFragment라는 조각이 있습니다. ViewPagerAdapter를 사용하여 Fragment를 호출하는데, 이는 정상적으로 작동합니다.Fragment를 CustomArrayAdapter 생성자에 전달하는 방법
MyFragment를 CustomArrayAdapter에 전달하려고하는데 내 응용 프로그램이 수퍼 클래스를 호출 할 때 생성자에서 충돌합니다.
여기 내 코드입니다 :
public class MyFragment extends Fragment implements MyInterface {
public MyFragment() {}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_paired_device, container, false);
}
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
Row[] arrList = new Row[5];
// THE FOLLOWING LINE IS SUPPOSED TO PASS THE FRAGMENT
CustomAdapter myCustomAdapter = new CustomAdapter((MyInterface) this.getActivity(), arrList);
}
}
CustomAdapter.java
public class CustomAdapter extends ArrayAdapter<Row> {
Row[] rowItems = null;
MyInterface myFragment;
public CustomAdapter(MyInterface myFragment, Row[] resource) {
// THE FOLLOWING LINE THROWS AN ERROR
super((FragmentActivity) myFragment, R.layout.row_with_cb, resource);
this.rowItems = resource;
this.myFragment = myFragment;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
}
}
MyFragment.java 나는 다음과 같은 오류 얻을 : 어떤 이유
java.lang.ClassCastException: MainActivity cannot be cast to MyInterface
을, this.getActivity는 su입니다. FragmentActivity를 보내기 위해 대기하지만 MainActivity를 보냅니다.
누구든지 나를 도와 줄 수 있습니까? 당신은 현재 MyFragment
가 부착되어 Activity
되었하려고
패스'대신'(하는 MyInterface) this.getActivity()의 this'' –
가합니까''FragmentActivity'을 확장 MainActivity' 어댑터? – PPartisan
감사합니다. @shayanpourvatan – AyeVeeKay