Java Code Examples for android.widget.AdapterView#setSelection()

The following examples show how to use android.widget.AdapterView#setSelection() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AdapterViewProtocols.java    From android-test with Apache License 2.0 6 votes vote down vote up
@Override
public boolean isDataRenderedWithinAdapterView(
    AdapterView<? extends Adapter> adapterView, AdaptedData adaptedData) {
  checkArgument(adaptedData.opaqueToken instanceof Integer, "Not my data: %s", adaptedData);
  int dataPosition = ((Integer) adaptedData.opaqueToken).intValue();
  boolean inView = false;

  if (Range.closed(adapterView.getFirstVisiblePosition(), adapterView.getLastVisiblePosition())
      .contains(dataPosition)) {
    if (adapterView.getFirstVisiblePosition() == adapterView.getLastVisiblePosition()) {
      // thats a huge element.
      inView = true;
    } else {
      inView =
          isElementFullyRendered(
              adapterView, dataPosition - adapterView.getFirstVisiblePosition());
    }
  }
  if (inView) {
    // stops animations - locks in our x/y location.
    adapterView.setSelection(dataPosition);
  }

  return inView;
}
 
Example 2
Source File: AdapterViewProtocols.java    From android-test with Apache License 2.0 5 votes vote down vote up
@Override
public void makeDataRenderedWithinAdapterView(
    AdapterView<? extends Adapter> adapterView, AdaptedData data) {
  checkArgument(data.opaqueToken instanceof Integer, "Not my data: %s", data);
  int position = ((Integer) data.opaqueToken).intValue();

  boolean moved = false;
  // set selection should always work, we can give a little better experience if per subtype
  // though.
  if (Build.VERSION.SDK_INT > 7) {
    if (adapterView instanceof AbsListView) {
      if (Build.VERSION.SDK_INT > 10) {
        ((AbsListView) adapterView)
            .smoothScrollToPositionFromTop(position, adapterView.getPaddingTop(), 0);
      } else {
        ((AbsListView) adapterView).smoothScrollToPosition(position);
      }
      moved = true;
    }
    if (Build.VERSION.SDK_INT > 10) {
      if (adapterView instanceof AdapterViewAnimator) {
        if (adapterView instanceof AdapterViewFlipper) {
          ((AdapterViewFlipper) adapterView).stopFlipping();
        }
        ((AdapterViewAnimator) adapterView).setDisplayedChild(position);
        moved = true;
      }
    }
  }
  if (!moved) {
    adapterView.setSelection(position);
  }
}
 
Example 3
Source File: AbstractViewQuery.java    From COCOQuery with Apache License 2.0 5 votes vote down vote up
/**
 * Set selected item of an AdapterView.
 *
 * @param position The position of the item to be selected.
 * @return self
 */
public T setSelection(int position) {

    if (view instanceof AdapterView) {
        AdapterView<?> alv = (AdapterView<?>) view;
        alv.setSelection(position);
    }

    return self();

}
 
Example 4
Source File: EntitySelectActivity.java    From commcare-android with Apache License 2.0 4 votes vote down vote up
@Override
public void deliverLoadResult(List<Entity<TreeReference>> entities,
                              List<TreeReference> references,
                              NodeEntityFactory factory, int focusTargetIndex) {
    loader = null;

    AdapterView visibleView;
    if (shortSelect.shouldBeLaidOutInGrid()) {
        visibleView = ((GridView)this.findViewById(R.id.screen_entity_select_grid));
    } else {
        ListView listView = this.findViewById(R.id.screen_entity_select_list);
        EntitySelectViewSetup.setupDivider(this, listView, shortSelect.usesEntityTileView());
        visibleView = listView;
    }

    adapter = new EntityListAdapter(this, shortSelect, references, entities, factory,
            hideActionsFromEntityList, shortSelect.getCustomActions(evalContext()), inAwesomeMode);
    visibleView.setAdapter(adapter);
    adapter.registerDataSetObserver(this.mListStateObserver);
    containerFragment.setData(adapter);

    if (entitySelectSearchUI != null) {
        entitySelectSearchUI.restoreSearchString();
    }

    // Pre-select entity if one was provided in original intent
    if (!resuming && !mNoDetailMode && inAwesomeMode && this.getIntent().hasExtra(EXTRA_ENTITY_KEY)) {
        TreeReference entity = selectDatum.getEntityFromID(evalContext(),
                this.getIntent().getStringExtra(EXTRA_ENTITY_KEY));

        if (entity != null) {
            displayReferenceAwesome(entity, adapter.getPosition(entity));
            updateSelectedItem(entity, true);
        }
    }

    findViewById(R.id.entity_select_loading).setVisibility(View.GONE);

    if (adapter != null) {
        // filter by additional session data (search string, callout result data)
        // Relevant when user navigates so far forward in the session that
        // the entity list needs to be reloaded upon returning to it
        restoreAdapterStateFromSession();
    }

    if (inAwesomeMode) {
        updateSelectedItem(true);
    } else if (focusTargetIndex != -1) {
        visibleView.setSelection(focusTargetIndex);
    }

    refreshTimer.start(this);

    if (locationChangedWhileLoading) {
        Log.i("HereFunctionHandler", "location changed while reloading");
        locationChangedWhileLoading = false;
        loadEntities();
    }
}