# SolverVariable

Artifact: [androidx.constraintlayout:constraintlayout-core](https://developer.android.com/jetpack/androidx/releases/constraintlayout) [View Source](https://cs.android.com/search?q=file:androidx/constraintlayout/core/SolverVariable.java+class:androidx.constraintlayout.core.SolverVariable) Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

*** ** * ** ***


```
public class SolverVariable implements Comparable<SolverVariable>
```

<br />

*** ** * ** ***

Represents a given variable used in the `https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem`.

## Summary

| ### Nested types |
|---|
| `public enum https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable.Type` Type of variables |

| ### Constants |
|---|---|
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_BARRIER() = 6` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_CENTERING() = 7` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_EQUALITY() = 5` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_FIXED() = 8` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_HIGH() = 3` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_HIGHEST() = 4` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_LOW() = 1` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_MEDIUM() = 2` |
| `static final int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#STRENGTH_NONE() = 0` |

| ### Public fields |
|---|---|
| `float` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#computedValue()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#id()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#inGoal()` |
| `boolean` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#isFinalValue()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#strength()` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#usageInRowCount()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#SolverVariable(java.lang.String,androidx.constraintlayout.core.SolverVariable.Type)(https://developer.android.com/reference/java/lang/String.html name, https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable.Type type)` Base constructor |
| `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#SolverVariable(androidx.constraintlayout.core.SolverVariable.Type,java.lang.String)(https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable.Type type, https://developer.android.com/reference/java/lang/String.html prefix)` |

| ### Public methods |
|---|---|
| `final void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#addToRow(androidx.constraintlayout.core.ArrayRow)(https://developer.android.com/reference/androidx/constraintlayout/core/ArrayRow row)` |
| `int` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#compareTo(androidx.constraintlayout.core.SolverVariable)(https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable v)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#getName()()` Accessor for the name |
| `final void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#removeFromRow(androidx.constraintlayout.core.ArrayRow)(https://developer.android.com/reference/androidx/constraintlayout/core/ArrayRow row)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#reset()()` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#setFinalValue(androidx.constraintlayout.core.LinearSystem,float)(https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, float value)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#setName(java.lang.String)(https://developer.android.com/reference/java/lang/String.html name)` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#setSynonym(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.SolverVariable,float)( https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable synonymVariable, float value )` |
| `void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#setType(androidx.constraintlayout.core.SolverVariable.Type,java.lang.String)(https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable.Type type, https://developer.android.com/reference/java/lang/String.html prefix)` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#toString()()` Override the toString() method to display the variable |
| `final void` | `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable#updateReferencesWithNewDefinition(androidx.constraintlayout.core.LinearSystem,androidx.constraintlayout.core.ArrayRow)( https://developer.android.com/reference/androidx/constraintlayout/core/LinearSystem system, https://developer.android.com/reference/androidx/constraintlayout/core/ArrayRow definition )` |

## Constants

### STRENGTH_BARRIER

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_BARRIER = 6
```

### STRENGTH_CENTERING

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_CENTERING = 7
```

### STRENGTH_EQUALITY

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_EQUALITY = 5
```

### STRENGTH_FIXED

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_FIXED = 8
```

### STRENGTH_HIGH

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_HIGH = 3
```

### STRENGTH_HIGHEST

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_HIGHEST = 4
```

### STRENGTH_LOW

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_LOW = 1
```

### STRENGTH_MEDIUM

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_MEDIUM = 2
```

### STRENGTH_NONE

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public static final int STRENGTH_NONE = 0
```

## Public fields

### computedValue

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public float computedValue
```

### id

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int id
```

### inGoal

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean inGoal
```

### isFinalValue

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public boolean isFinalValue
```

### strength

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int strength
```

### usageInRowCount

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int usageInRowCount
```

## Public constructors

### SolverVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public SolverVariable(String name, SolverVariable.Type type)
```

Base constructor

| Parameters |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html name` | the variable name |
| `https://developer.android.com/reference/androidx/constraintlayout/core/SolverVariable.Type type` | the type of the variable |

### SolverVariable

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public SolverVariable(SolverVariable.Type type, String prefix)
```

## Public methods

### addToRow

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public final void addToRow(ArrayRow row)
```

### compareTo

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public int compareTo(SolverVariable v)
```

### getName

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public String getName()
```

Accessor for the name

| Returns |
|---|---|
| `https://developer.android.com/reference/java/lang/String.html` | the name of the variable |

### removeFromRow

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public final void removeFromRow(ArrayRow row)
```

### reset

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void reset()
```

### setFinalValue

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setFinalValue(LinearSystem system, float value)
```

### setName

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setName(String name)
```

### setSynonym

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setSynonym(
    LinearSystem system,
    SolverVariable synonymVariable,
    float value
)
```

### setType

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public void setType(SolverVariable.Type type, String prefix)
```

### toString

```
public String toString()
```

Override the toString() method to display the variable

### updateReferencesWithNewDefinition

Added in [1.1.2](https://developer.android.com/jetpack/androidx/releases/constraintlayout#1.1.2)

```
public final void updateReferencesWithNewDefinition(
    LinearSystem system,
    ArrayRow definition
)
```