Exemplo n.º 1
0
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
      clearPageInvalidMark(); // the user is currently interacting with the spinner(s), so don't
      // annoy him/her with the red box

      MultiListSpinner spinner = (MultiListSpinner) parent;

      revert(spinner);

      MultiListItem chosen = spinner.getAdapter().getItem(position);
      if (chosen != null && !chosen.isLeaf()) addNextList(chosen);
    }
Exemplo n.º 2
0
    public void addNextList(MultiListItem parentItem) {
      int level = getChildCount() / 2;

      // Label:
      TextView label = new TextView(getContext());
      label.setText(field.getCaption(level));
      label.setLayoutParams(CollectorView.FULL_WIDTH_LAYOUTPARAMS);
      addView(label);

      // Spinner (combo box):
      final MultiListSpinner spinner = new MultiListSpinner(getContext(), parentItem, onPage);
      spinner.setLayoutParams(CollectorView.FULL_WIDTH_LAYOUTPARAMS);
      spinner.setPrompt(field.getCaption(level));

      //	Item selected event:
      spinner.setOnItemSelectedListener(this);

      //	Item selection:
      //		Current value:
      if (!selectionStack.isEmpty()) spinner.selectItem(selectionStack.pop());
      //		Select default if preSelect=true:
      else if (field.isPreSelect()) spinner.setSelection(parentItem.getDefaultChildIndex());
      //		Simulate user click:
      else if (autoOpenToSelect) spinner.performClick();
      // else: first (dummy) item will be selected

      //	Enable/disable spinner (also sets focus event listener):
      spinner.setEnabled(isEnabled());

      //	Add the spinner:
      addView(spinner);
    }
Exemplo n.º 3
0
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
      if (hasFocus && isFieldShown() && isEnabled()) {
        // Simulate click:
        ((MultiListSpinner) v).performClick();

        // Lose focus again:
        v.clearFocus();
      }
    }