Fix middle-side radio selection
This commit is contained in:
@@ -17,6 +17,7 @@ import android.view.inputmethod.EditorInfo;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
@@ -859,15 +860,30 @@ public final class LayoutFragment extends Fragment {
|
||||
}
|
||||
|
||||
private int resolveLeftSideId(RadioGroup group) {
|
||||
int id = group.getChildCount() > 0 ? group.getChildAt(0).getId() : View.NO_ID;
|
||||
int id = sideButtonId(group, 0);
|
||||
return id != View.NO_ID ? id : 0;
|
||||
}
|
||||
|
||||
private int resolveRightSideId(RadioGroup group) {
|
||||
int id = group.getChildCount() > 1 ? group.getChildAt(1).getId() : View.NO_ID;
|
||||
int id = sideButtonId(group, 1);
|
||||
return id != View.NO_ID ? id : resolveLeftSideId(group);
|
||||
}
|
||||
|
||||
private int sideButtonId(RadioGroup group, int radioIndex) {
|
||||
int seen = 0;
|
||||
for (int i = 0; i < group.getChildCount(); i++) {
|
||||
View child = group.getChildAt(i);
|
||||
if (!(child instanceof RadioButton)) {
|
||||
continue;
|
||||
}
|
||||
if (seen == radioIndex) {
|
||||
return child.getId();
|
||||
}
|
||||
seen++;
|
||||
}
|
||||
return View.NO_ID;
|
||||
}
|
||||
|
||||
private void setNumericText(EditText input, int value) {
|
||||
if (input == null) {
|
||||
return;
|
||||
|
||||
+2
-1
@@ -10,6 +10,7 @@ import android.view.ViewGroup;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.RadioGroup;
|
||||
import android.widget.ScrollView;
|
||||
import android.widget.TextView;
|
||||
@@ -775,7 +776,7 @@ abstract class LockedSceneLayoutFragment extends Fragment {
|
||||
private int firstSideId(RadioGroup group, int rightId) {
|
||||
for (int i = 0; i < group.getChildCount(); i++) {
|
||||
View child = group.getChildAt(i);
|
||||
if (child.getId() != rightId) {
|
||||
if (child instanceof RadioButton && child.getId() != rightId) {
|
||||
return child.getId();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user