Ошибка при использовании "setOnItemSelectedListener" в счетчике
Когда я использую setOnItemSelectedListener в счетчике происходит ошибка. Это мой код:
public class FragmentAdd extends Fragment {
private Spinner spinnerProvince;
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
spinnerProvince = (Spinner) getActivity().findViewById(R.id.spinner_province);
spinnerProvince.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
return inflater.inflate(R.layout.fragment_add,container,false);
}
}
ошибка:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setOnItemSelectedListener(android.widget.AdapterView$OnItemSelectedListener)' on a null object reference
как я могу решить эту проблему.
1 ответ
Решение
Вы должны сначала надуть свое представление, а затем сделать привязку идентификатора в надутом представлении, попробуйте это
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.fragment_add,container,false);
spinnerProvince = (Spinner) root.findViewById(R.id.spinner_province);
spinnerProvince.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
return root;
}