У меня возникли проблемы с выбором номера. Когда я пытаюсь добавить минимум и максимум значений в Java коде для numberpicker я получаю эту ошибкуОшибка NumberPicker в AlertDialog в DialogFragment
попытки вызвать виртуальный метод «недействительный android.widget.NumberPicker.setMinValue (INT)» на нулевой ссылке на объект
Очевидно, что он не распознает мою цифровую цифру, так что я не могу добавить значения.
Кто-то нашел решение этой проблемы here, но это меня не очень устраивает. Потому что в следующем диалоге мне понадобится еще один номерчик и настройте его в соответствии с предыдущим.
Я думаю, что проблема заключается в методе findViewById(), так как он должен работать в рамках действия. Как-то getActivity() не работает. Пожалуйста, помогите, спасибо заранее. Вот мой код;
public class MyDialog extends DialogFragment {
public MyDialog(){}
public static MyDialog newInstance(){
MyDialog evet = new MyDialog();
return evet;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder bodyBuilder = new AlertDialog.Builder(getActivity());
LayoutInflater inflator = getActivity().getLayoutInflater();
bodyBuilder.setTitle(R.string.delirtmen);
NumberPicker np = (NumberPicker) getActivity().findViewById(R.id.nambir);
np.setMinValue(1);
np.setMaxValue(100);
final int comolokko = np.getValue();
bodyBuilder.setView(inflator.inflate(R.layout.layout_diyalog, null))
.setPositiveButton("Devam", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id){
Intent intent = new Intent(getActivity(), Olurmuki.class);
intent.putExtra("deger", comolokko);
startActivity(intent);
}
})
.setNegativeButton("İptal",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int id){
MyDialog.this.getDialog().cancel();
}
});
return bodyBuilder.create();
}}
I nflate макет и использовать завышенное представление, чтобы получить NumberPicker перед настройкой представления. Пример. 'View view = (сделайте свой надув здесь)'. Затем найдите NP, используя view.findViewById (...). Затем builder.setView (view). Извинения, ввод текста с телефона. –
Да, это сработало @ Кай, спасибо. –
Да, это тоже проблема @ cricket_007. –