Android: как использовать NumberPickerDialog - PullRequest
0 голосов
/ 20 июля 2011

Может ли кто-нибудь дать мне пример того, как создать экземпляр NumberPickerDialog в Activity.onCreateDialog? (https://github.com/novak/numberpicker/blob/master/lib/src/com/michaelnovakjr/numberpicker/NumberPickerDialog.java)?

В репозитории есть примеры с названием numberpicker-demo для использования виджета, но нет ни одного для реального диалога.

Среди других подходов, которые я пробовал, пробовали что-то вроде:

return new NumberPickerDialog.Builder(this)
    .setTitle("Choose Number")
    .etc..

Но это просто показывает стандартный AlertDialog, без NumberPicker.

Спасибо!

Ответы [ 3 ]

3 голосов
/ 21 июля 2011

Со временем все заработало. В com.quietlycoding.android.picker.Picker есть пример, но я обнаружил, что диалоговое окно не устанавливает должным образом затемнение, затемняя всю деятельность в фоновом режиме, пока она отображается.

Я работал над этим, просто создав AlertDialog обычным способом, а затем просто вставив виджет NumberPicker в setView ():

LayoutInflater inflater = (LayoutInflater)
    getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View npView = inflater.inflate(R.layout.number_picker_pref, null);
    return new AlertDialog.Builder(this)
        .setTitle("Text Size:")
        .setView(npView)
        .setPositiveButton(R.string.dialog_ok,
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {

                }
            })
            .setNegativeButton(R.string.dialog_cancel,
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int whichButton) {
                    }
                })
            .create();

Обязательно скопируйте number_picker_pref.xml из проекта numberpicker в res / layout в вашем собственном проекте.

0 голосов
/ 08 декабря 2012

Это будет намного проще, если только вы сделаете это:

  1. Добавить NumberPicker к вашему макету
  2. Добавьте этот код в свою деятельность

        //charger le NumberPicker
        npicker = (NumberPicker) findViewById(R.id.picker);
        // Set intervalle
        npicker.setRange(1, pages.size());
        // Set la valeur actuelle
        npicker.setCurrent(1);
    
        npicker.setOnChangeListener(new OnChangedListener() {               
            @Override
            public void onChanged(NumberPicker picker, int oldVal, int newVal) {
                // TODO Auto-generated method stub
                Log.e("Log Change event","oldVal: "+oldVal+"//newVal: "+newVal);
            }
        });
    
0 голосов
/ 20 июля 2011
...