Я создаю фрагмент диалога с настраиваемым макетом, который включает в себя набор символов.Пользовательский макет Диалог с номером Picker
Для этого я создал класс DialogFragment, который реализует NumberPicker.onValueChangeListener и XML-файл макета, который он будет использовать.
У меня возникли проблемы, связывающую номер Picker в макете с переменной в классе фрагмента, потому что «» findViewById «Метод не может быть решена»
Как я могу обойти эту проблему?
Элементы кода ниже:
Диалог Фрагмент:
public class PlayersDialogueFragment extends DialogFragment implements NumberPicker.OnValueChangeListener {
NumberPicker numberOfPlayersPicker = null;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.players_fragment_layout, null));
numberOfPlayersPicker = (NumberPicker) findViewById(R.id.numberOfPlayersPicker);
numberOfPlayersPicker.setMaxValue(4);
numberOfPlayersPicker.setMinValue(2);
Компоновка - "players_fragment_layout":
<NumberPicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/numberOfPlayersPicker"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
Я могу поставить getActivity() перед findViewById и может запустите приложение, но он дает ошибку ссылки на нулевой объект, делая это.
PS: Если это имеет значение, фрагмент диалога вызывается основной активностью при нажатии кнопки.
мы можем установить изображение в номер сборщика, как первый ряд с 5 звезд, а затем 4 звезды, ..., 1 звезда. это возможно? ответьте, пожалуйста. заранее спасибо. –
@GanpatKaliya Ваш комментарий выходит за рамки этого Q & A. У вас будет больше удачи, разместив его как отдельный вопрос. – stkent