Skip to content

Commit

Permalink
read
Browse files Browse the repository at this point in the history
  • Loading branch information
gzeinnumer committed Aug 20, 2021
1 parent 6eac448 commit da77bf4
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 14 deletions.
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</h1>

<div align="center">
<a><img src="https://img.shields.io/badge/Version-2.0.2-brightgreen.svg?style=flat"></a>
<a><img src="https://img.shields.io/badge/Version-2.1.0-brightgreen.svg?style=flat"></a>
<a><img src="https://img.shields.io/badge/ID-gzeinnumer-blue.svg?style=flat"></a>
<a><img src="https://img.shields.io/badge/Java-Suport-green?logo=java&style=flat"></a>
<a><img src="https://img.shields.io/badge/Kotlin-Suport-green?logo=kotlin&style=flat"></a>
Expand Down Expand Up @@ -139,6 +139,10 @@ dynamicRadioButton.setItemList(listObject).setOnCheckedChangeListener(new Dynami
}
});
```
Set `setSelectedItem(index)` use before `setItemList(list)`.
```java
dynamicRadioButton.setSelectedItem(1)...
```

#
**Preview** :
Expand Down Expand Up @@ -170,6 +174,8 @@ dynamicRadioButton.setItemList(listObject).setOnCheckedChangeListener(new Dynami
- Support SDK 16
- **2.0.2**
- orientation to orientationRadioButton
- **2.1.0**
- orientation to orientationRadioButton

---
# Contribution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import com.gzeinnumer.dr.DynamicRadioButton;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

Expand All @@ -32,13 +33,17 @@ private void sample1() {
listString.add("Dua");
listString.add("Tiga");
listString.add("Empat");
Log.d(getClass().getSimpleName(), "sample1: "+listString.indexOf("Satu"));

dynamicRadioButton.setItemList(listString).setOnCheckedChangeListener(new DynamicRadioButton.OnCheckedChangeListener<String>() {
@Override
public void onCheckedChanged(String item) {
Log.d(TAG, "onCheckedChanged: " + item);
}
});
dynamicRadioButton
.setSelectedItem(1)
.setItemList(listString)
.setOnCheckedChangeListener(new DynamicRadioButton.OnCheckedChangeListener<String>() {
@Override
public void onCheckedChanged(String item) {
Log.d(TAG, "onCheckedChanged: " + item);
}
});
}

private void sample2() {
Expand All @@ -48,11 +53,14 @@ private void sample2() {
listObject.add(new ExampleModel(3, "Zein3", "Balbar3"));
listObject.add(new ExampleModel(4, "Zein4", "Balbar4"));

dynamicRadioButton.setItemList(listObject).setOnCheckedChangeListener(new DynamicRadioButton.OnCheckedChangeListener<ExampleModel>() {
@Override
public void onCheckedChanged(ExampleModel item) {
Log.d(TAG, "onCheckedChanged: " + item.toString());
}
});
dynamicRadioButton
.setSelectedItem(listObject.indexOf(new ExampleModel(4, "Zein4", "Balbar4")))
.setItemList(listObject)
.setOnCheckedChangeListener(new DynamicRadioButton.OnCheckedChangeListener<ExampleModel>() {
@Override
public void onCheckedChanged(ExampleModel item) {
Log.d(TAG, "onCheckedChanged: " + item.toString());
}
});
}
}
8 changes: 7 additions & 1 deletion dr/src/main/java/com/gzeinnumer/dr/DynamicRadioButton.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ public class DynamicRadioButton extends RadioGroup {
private final AttributeSet _attrs;
private int _cbStyle = R.style.def_radioButtonStyle;
private int _orientation = VERTICAL;
private int position = -1;

private ArrayList<Object> sendArray = new ArrayList<>();

Expand Down Expand Up @@ -80,6 +81,7 @@ private <T> void initView(List<T> items) {
rb.setTextAppearance(_context, _cbStyle);
rb.setText(items.get(i).toString());
rb.setId(i);
rb.setChecked(position==i);
radioGroup.addView(rb);
}

Expand All @@ -106,14 +108,18 @@ private <T> void addToArray(T data) {
sendArray.add(data);

onCheckedChangeListener.onCheckedChanged(sendArray.get(0));

}

@Override
protected void removeDetachedView(View child, boolean animate) {
super.removeDetachedView(child, false);
}

public DynamicRadioButton setSelectedItem(int position) {
this.position = position;
return this;
}

public interface OnCheckedChangeListener<T> {
void onCheckedChanged(T item);
}
Expand Down

0 comments on commit da77bf4

Please sign in to comment.