コード例 #1
0
  @Override
  public void setSelection(int position) {
    if (position == getSelectedItemPosition()) {
      return;
    }
    if (mVariableField == null) {
      return;
    }
    int type = ((VariableViewAdapter) getAdapter()).getVariableAction(position);

    switch (type) {
      case VariableViewAdapter.ACTION_SELECT_VARIABLE:
        super.setSelection(position);
        if (mVariableField != null) {
          String varName = getAdapter().getItem(position).toString();
          mVariableField.setVariable(varName);
        }
        break;
      case VariableViewAdapter.ACTION_RENAME_VARIABLE:
        if (mCallback != null) {
          mCallback.onVariableRequest(
              VariableRequestCallback.REQUEST_RENAME, mVariableField.getVariable());
        }
        break;
      case VariableViewAdapter.ACTION_DELETE_VARIABLE:
        if (mCallback != null) {
          mCallback.onVariableRequest(
              VariableRequestCallback.REQUEST_DELETE, mVariableField.getVariable());
        }
        break;
    }
  }