java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.LinearLayout
         ↳ com.sap.cloud.mobile.fiori.formcell.FilterFormCell

Class Overview

A custom control using either chips or checkboxes for selecting multiple options.

A string array containing names of all items setValueOptions(String[])in and a List of indices of the pre-selected items setValue(List) should be specified.

Summary

XML Attributes
Attribute Name Related Method Description
FilterFormCell_android_enabled setEnabled(boolean)  
FilterFormCell_android_entries  
FilterFormCell_key  
FilterFormCell_outlined  
FilterFormCell_singleLine  
FilterFormCell_useChip  
FilterFormCell_value  
FormCellMetadataLayout_android_clickable setClickable(boolean)  
FormCellMetadataLayout_android_focusable setFocusable(boolean)  
FormCellMetadataLayout_errorEnabled isErrorEnabled()  
FormCellMetadataLayout_helperEnabled isHelperEnabled()  
FormCellMetadataLayout_label setLabel(CharSequence)  
FormCellMetadataLayout_labelEnabled setLabelEnabled(boolean)  
FormCellMetadataLayout_labelTextAppearance setLabelTextAppearanceFocused(int)  
FormCellMetadataLayout_labelTextAppearanceFocused setLabelTextAppearanceFocused(int)  
FormCellMetadataLayout_labelTextAppearanceUnFocused setLabelTextAppearanceFocused(int)  
[Expand]
Inherited Constants
From class android.widget.LinearLayout
From class android.view.ViewGroup
From class android.view.View
Fields
protected CharSequence mErrorMessage
protected int mErrorTextAppearance
protected CharSequence mHelperText
protected int mHelperTextAppearance
protected int mHorizontalMargin
protected boolean mIsInError
protected boolean mIsTablet
protected int mLabelTextAppearance
protected int mLabelTextAppearanceUnFocused
protected TextView mLabelTextView
protected boolean mShouldAttachOrientationListener
protected TextView mStatusView
[Expand]
Inherited Fields
From class android.view.View
Public Constructors
FilterFormCell(Context context)
Construct a new FilterFormCell with default styling, sets the CellType to WidgetType.FILTER
FilterFormCell(Context context, AttributeSet attrs)
Construct a new FilterFormCell with default styling, overriding the attributes for the control as requested, sets the CellType to WidgetType.FILTER
Public Methods
void addView(View child, int index, ViewGroup.LayoutParams params)
Add given view in the view
int getCellType()
Return the enum value for FilterFormCell
CellValueChangeListener<List<Integer>> getCellValueChangeListener()
Return the value change handler of the control
CharSequence getError()
Get the error
TextView getErrorView()
CharSequence getHelperText()
Get the helper text from the view
CharSequence getKey()
Return the label of the property of control
TextView getKeyLabel()
Return the view holding the key-name string
List<Integer> getValue()
Returns the index list of selected items in the FilterFormCell
String[] getValueOptions()
Returns an array of items in the Grid
boolean isEditable()
Returns if the control is enabled or not to modify values.
boolean isErrorEnabled()
Is error enabled on the view
boolean isHelperEnabled()
Set if the helper field is enabled on the view
boolean isLabelEnabled()
Is the label field on the view is enabled
boolean isOutlined()
True when outlined chips are outlined.
boolean isSingleLine()
True when chips are displayed on a single line, that scrolls horizontally.
boolean isUseChip()
True when the filter should display chips, false when it should display check boxes.
void onCheckedChanged(CompoundButton compoundButton, boolean isChecked)
void onRestoreInstanceState(Parcelable state)
Parcelable onSaveInstanceState()
void setCellValueChangeListener(CellValueChangeListener<List<Integer>> listener)
void setClickable(boolean clickable)
Enable or disable clickable property on the view and all its children
void setEditable(boolean isEditable)
Set if the control is enabled or not to modify value of the control.
void setEnabled(boolean enabled)
Enable or disable the view
void setError(CharSequence error)
Set the error on the view.
void setErrorEnabled(boolean errorEnabled)
Enable or disable the error field on the view
void setErrorTextAppearance(int resId)
Set the text appearance on the error
void setFocusable(boolean focusable)
Enable or disable focusable property on the view and all its children
void setHelperEnabled(boolean enabled)
Enable or disable the helper field on the view
void setHelperText(CharSequence helper)
Set the helper text on the view
void setHelperTextAppearance(int textAppearance)
Set the helper text appearance
void setKey(CharSequence keyName)
Set the label for property of the control
void setKeyEnabled(boolean keyEnabled)
void setKeyTextAppearance(int resId)
void setLabelTextAppearanceUnFocused(int labelTextAppearanceUnFocused)
Set the label text appearance when the view is not focused
void setOutlined(boolean outlined)
Indicate if chips should be outlined.
void setOverrideKeyStyle(boolean overrideKeyStyle)
Override the Key styling manually.
void setOverrideStatusStyle(boolean overrideStatusStyle)
Override the status i.e.
void setShouldAttachOrientationListener(boolean shouldAttach)
Determines if an OrientationEventListener should be attached.
void setSingleLine(boolean singleLine)
When set to true, chips will be displayed on a single line that can scroll horizontally when the line is wider than the display.
void setUseChip(boolean useChip)
Set to true to display the filter using chips.
void setValue(List<Integer> value)
Sets the list of index of selected items
void setValueOptions(String[] valueOptions)
Sets the label of options available for the user to choose from
Protected Methods
void adjustMargins()
Calculate and set the margins for the cell's elements.
static boolean arrayContains(int[] array, int value)
Check if the array contains the given property
void drawableStateChanged()
Drawable state changed
TextView generateTextView()
Generate the text view
ViewGroup.LayoutParams getDefaultLayoutParams()
CharSequence getLabel()
Get the label on the view
void replaceStatusView()
Each time you add a new view, error/helper view has to be adjusted to be the last view in the layout
void setLabel(CharSequence key)
Set the label on the view
void setLabelEnabled(boolean keyEnabled)
Enable or disable the label field on the view
void setLabelTextAppearance(int textAppearance)
Set the text appearance on the label.
void setLabelTextAppearanceFocused(int textAppearance)
Set the text appearance on the label when the view is not focused
void setLabelTextColorError(ColorStateList color)
Set the text color of the label for error mode
void setLabelTextColorFocused(ColorStateList color)
Set the color of label when the view is focused
void setLabelTextColorUnFocused(ColorStateList color)
Set the color of label when the view is not focused
boolean setupErrorHelperView()
Setup the error/helper field on the view
boolean setupLabelView()
Setup the label view on the view
boolean shouldLayout(View v)
Should layout the given view
[Expand]
Inherited Methods
From class android.widget.LinearLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.ViewManager
From interface android.view.ViewParent
From interface android.view.accessibility.AccessibilityEventSource
From interface android.widget.CompoundButton.OnCheckedChangeListener
From interface com.sap.cloud.mobile.fiori.formcell.FormCell
From interface com.sap.cloud.mobile.fiori.formcell.InlineValidation
From interface com.sap.cloud.mobile.fiori.formcell.SupportsHelperText
From interface com.sap.cloud.mobile.fiori.formcell.SupportsKey

XML Attributes

FilterFormCell_android_enabled

Related Methods

FilterFormCell_android_entries

Related Methods

FilterFormCell_key

Related Methods

FilterFormCell_outlined

Related Methods

FilterFormCell_singleLine

Related Methods

FilterFormCell_useChip

Related Methods

FilterFormCell_value

Related Methods

FormCellMetadataLayout_android_clickable

Related Methods

FormCellMetadataLayout_android_focusable

Related Methods

FormCellMetadataLayout_errorEnabled

Related Methods

FormCellMetadataLayout_helperEnabled

Related Methods

FormCellMetadataLayout_label

Related Methods

FormCellMetadataLayout_labelEnabled

Related Methods

FormCellMetadataLayout_labelTextAppearance

FormCellMetadataLayout_labelTextAppearanceFocused

FormCellMetadataLayout_labelTextAppearanceUnFocused

Fields

protected CharSequence mErrorMessage

protected int mErrorTextAppearance

protected CharSequence mHelperText

protected int mHelperTextAppearance

protected int mHorizontalMargin

protected boolean mIsInError

protected boolean mIsTablet

protected int mLabelTextAppearance

protected int mLabelTextAppearanceUnFocused

protected TextView mLabelTextView

protected boolean mShouldAttachOrientationListener

protected TextView mStatusView

Public Constructors

public FilterFormCell (Context context)

Construct a new FilterFormCell with default styling, sets the CellType to WidgetType.FILTER

Parameters
context context

public FilterFormCell (Context context, AttributeSet attrs)

Construct a new FilterFormCell with default styling, overriding the attributes for the control as requested, sets the CellType to WidgetType.FILTER

Parameters
context context
attrs attribute set

Public Methods

public void addView (View child, int index, ViewGroup.LayoutParams params)

Add given view in the view

Parameters
child View
index position at which the view has to be added
params ViewGroup.LayoutParams

public int getCellType ()

Return the enum value for FilterFormCell

Returns
  • WidgetType type of the control which has implemented FormCell

public CellValueChangeListener<List<Integer>> getCellValueChangeListener ()

Return the value change handler of the control

Returns
  • OnCellChangeListener - value change listener of the control

public CharSequence getError ()

Get the error

Returns
  • CharSequence

public TextView getErrorView ()

public CharSequence getHelperText ()

Get the helper text from the view

Returns
  • CharSequence

public CharSequence getKey ()

Return the label of the property of control

Returns
  • CharSequence keyName

public TextView getKeyLabel ()

Return the view holding the key-name string

Returns
  • TextView text-view displaying key-name

public List<Integer> getValue ()

Returns the index list of selected items in the FilterFormCell

Returns
  • List index of selected items

public String[] getValueOptions ()

Returns an array of items in the Grid

Returns
  • String[] itemNames in the Grid

public boolean isEditable ()

Returns if the control is enabled or not to modify values.

Returns
  • Boolean user is allowed to modify the value of the control

public boolean isErrorEnabled ()

Is error enabled on the view

Related XML Attributes
Returns
  • boolean

public boolean isHelperEnabled ()

Set if the helper field is enabled on the view

Related XML Attributes
Returns
  • boolean

public boolean isLabelEnabled ()

Is the label field on the view is enabled

Related XML Attributes
Returns
  • boolean

public boolean isOutlined ()

True when outlined chips are outlined.

Returns
  • true when outlined chips are outlined.

public boolean isSingleLine ()

True when chips are displayed on a single line, that scrolls horizontally. Otherwise, chips are displayed on multiple lines.

Returns
  • true when chips are displayed on a single line, or false when chips are displayed on multiple lines.

public boolean isUseChip ()

True when the filter should display chips, false when it should display check boxes.

Returns
  • true when the filter should display chips, false when it should display check boxes.

public void onCheckedChanged (CompoundButton compoundButton, boolean isChecked)

public void onRestoreInstanceState (Parcelable state)

public Parcelable onSaveInstanceState ()

public void setCellValueChangeListener (CellValueChangeListener<List<Integer>> listener)

public void setClickable (boolean clickable)

Enable or disable clickable property on the view and all its children

Parameters
clickable boolean

public void setEditable (boolean isEditable)

Set if the control is enabled or not to modify value of the control. In readOnly mode, however, the text labels and text values will be selectable. By default, the control will be editable( user can modify value of the control)

Parameters
isEditable Boolean

public void setEnabled (boolean enabled)

Enable or disable the view

Related XML Attributes
Parameters
enabled boolean

public void setError (CharSequence error)

Set the error on the view. If the view is not error enabled then this API does not take any effect.

Parameters
error CharSequence

public void setErrorEnabled (boolean errorEnabled)

Enable or disable the error field on the view

Parameters
errorEnabled boolean

public void setErrorTextAppearance (int resId)

Set the text appearance on the error

Parameters
resId style resource

public void setFocusable (boolean focusable)

Enable or disable focusable property on the view and all its children

Parameters
focusable boolean

public void setHelperEnabled (boolean enabled)

Enable or disable the helper field on the view

Parameters
enabled boolean

public void setHelperText (CharSequence helper)

Set the helper text on the view

Parameters
helper CharSequence

public void setHelperTextAppearance (int textAppearance)

Set the helper text appearance

Parameters
textAppearance style resource

public void setKey (CharSequence keyName)

Set the label for property of the control

Parameters
keyName label of the property

public void setKeyEnabled (boolean keyEnabled)

public void setKeyTextAppearance (int resId)

public void setLabelTextAppearanceUnFocused (int labelTextAppearanceUnFocused)

Set the label text appearance when the view is not focused

Parameters
labelTextAppearanceUnFocused Style resource

public void setOutlined (boolean outlined)

Indicate if chips should be outlined. This method only has an affect when useChip is true.

Parameters
outlined true to outline chips, otherwise chips are not outlined.

public void setOverrideKeyStyle (boolean overrideKeyStyle)

Override the Key styling manually.

Parameters
overrideKeyStyle boolean

public void setOverrideStatusStyle (boolean overrideStatusStyle)

Override the status i.e. error and helper styling manually

Parameters
overrideStatusStyle boolean

public void setShouldAttachOrientationListener (boolean shouldAttach)

Determines if an OrientationEventListener should be attached.

Parameters
shouldAttach Whether the FormCell should consider attaching an OrientationEventListener or not

public void setSingleLine (boolean singleLine)

When set to true, chips will be displayed on a single line that can scroll horizontally when the line is wider than the display. When set to false, chips will be displayed on multiple lines. This method only has an affect when useChip is true.

Parameters
singleLine true to display chips on a single line, false to display chips on multiple lines.

public void setUseChip (boolean useChip)

Set to true to display the filter using chips. False to display the filter using check boxes.

Parameters
useChip true to display the filter using chips. False to display the filter using check boxes.

public void setValue (List<Integer> value)

Sets the list of index of selected items

Parameters
value value of the property

public void setValueOptions (String[] valueOptions)

Sets the label of options available for the user to choose from

Parameters
valueOptions item list

Protected Methods

protected void adjustMargins ()

Calculate and set the margins for the cell's elements. Subclasses should override this method to suit their own needs.

protected static boolean arrayContains (int[] array, int value)

Check if the array contains the given property

Parameters
array array of integer
value int
Returns
  • boolean

protected void drawableStateChanged ()

Drawable state changed

protected TextView generateTextView ()

Generate the text view

Returns
  • TextView

protected ViewGroup.LayoutParams getDefaultLayoutParams ()

protected CharSequence getLabel ()

Get the label on the view

Related XML Attributes
Returns
  • CharSequence

protected void replaceStatusView ()

Each time you add a new view, error/helper view has to be adjusted to be the last view in the layout

protected void setLabel (CharSequence key)

Set the label on the view

Related XML Attributes
Parameters
key CharSequence
See Also

protected void setLabelEnabled (boolean keyEnabled)

Enable or disable the label field on the view

Related XML Attributes
Parameters
keyEnabled boolean
See Also

protected void setLabelTextAppearance (int textAppearance)

Set the text appearance on the label. This changes the appearance when the view is focused and unfocused

Parameters
textAppearance style resource

protected void setLabelTextAppearanceFocused (int textAppearance)

Set the text appearance on the label when the view is not focused

Parameters
textAppearance Style resource

protected void setLabelTextColorError (ColorStateList color)

Set the text color of the label for error mode

Parameters
color ColorStateList

protected void setLabelTextColorFocused (ColorStateList color)

Set the color of label when the view is focused

Parameters
color ColorStateList

protected void setLabelTextColorUnFocused (ColorStateList color)

Set the color of label when the view is not focused

Parameters
color ColorStateList

protected boolean setupErrorHelperView ()

Setup the error/helper field on the view

Returns
  • boolean true: new view is created false:existing view is used

protected boolean setupLabelView ()

Setup the label view on the view

Returns
  • boolean true: new view is created false:existing view is used

protected boolean shouldLayout (View v)

Should layout the given view

Parameters
v View
Returns
  • boolean