当我从 firebase 获取值时如何检查 onRadioButtonClicked 值?
how to check onRadioButtonClicked value when I get the value from firebase?
当我从 firebase 获取值时如何检查 onRadioButtonClicked 值?
在我的 firebase 数据中,我使用这种方式获取值 chk_country = snapshot.child("country").getValue().toString();
但是我该如何设置值呢?我的意思是,如果用户设置的国家/地区值为澳大利亚,则选中 R.id.australia,相反,如果用户设置的国家/地区为台湾,则选中 R.id.taiwan。
public void onRadioButtonClicked(View view){
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
chk_country = snapshot.child("country").getValue().toString();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
boolean isSelected = ((AppCompatRadioButton)view).isChecked();
switch (view.getId()){
case R.id.australia:
if(isSelected){
australia.setTextColor(Color.WHITE);
taiwan.setTextColor(Color.RED);
type = "Australia";
}
break;
case R.id.taiwan:
if(isSelected){
taiwan.setTextColor(Color.WHITE);
australia.setTextColor(Color.RED);
type = "Taiwan";
}
break;
}
}
xml
<androidx.appcompat.widget.AppCompatRadioButton
android:layout_marginLeft="30dp"
android:id="@+id/australia"
android:layout_width="100dp"
android:layout_height="30dp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:text="@string/australia"
android:checked="true"
android:gravity="center"
android:button="@android:color/transparent"
android:layout_weight="1"
android:layout_marginRight="-1dp"
android:background="@drawable/radio_button_left_selector"
android:onClick="onRadioButtonClicked"/>
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/taiwan"
android:layout_width="100dp"
android:layout_height="30dp"
android:textColor="@android:color/holo_red_light"
android:textStyle="bold"
android:text="@string/taiwan"
android:gravity="center"
android:button="@android:color/transparent"
android:layout_weight="1"
android:layout_marginLeft="-1dp"
android:background="@drawable/radio_button_right_selector"
android:onClick="onRadioButtonClicked"/>
你可以使用 radio1.setChecked(true);和 radio2.setChecked(假);对于另一个值
当我从 firebase 获取值时如何检查 onRadioButtonClicked 值?
在我的 firebase 数据中,我使用这种方式获取值 chk_country = snapshot.child("country").getValue().toString();
但是我该如何设置值呢?我的意思是,如果用户设置的国家/地区值为澳大利亚,则选中 R.id.australia,相反,如果用户设置的国家/地区为台湾,则选中 R.id.taiwan。
public void onRadioButtonClicked(View view){
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
chk_country = snapshot.child("country").getValue().toString();
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
boolean isSelected = ((AppCompatRadioButton)view).isChecked();
switch (view.getId()){
case R.id.australia:
if(isSelected){
australia.setTextColor(Color.WHITE);
taiwan.setTextColor(Color.RED);
type = "Australia";
}
break;
case R.id.taiwan:
if(isSelected){
taiwan.setTextColor(Color.WHITE);
australia.setTextColor(Color.RED);
type = "Taiwan";
}
break;
}
}
xml
<androidx.appcompat.widget.AppCompatRadioButton
android:layout_marginLeft="30dp"
android:id="@+id/australia"
android:layout_width="100dp"
android:layout_height="30dp"
android:textColor="@android:color/white"
android:textStyle="bold"
android:text="@string/australia"
android:checked="true"
android:gravity="center"
android:button="@android:color/transparent"
android:layout_weight="1"
android:layout_marginRight="-1dp"
android:background="@drawable/radio_button_left_selector"
android:onClick="onRadioButtonClicked"/>
<androidx.appcompat.widget.AppCompatRadioButton
android:id="@+id/taiwan"
android:layout_width="100dp"
android:layout_height="30dp"
android:textColor="@android:color/holo_red_light"
android:textStyle="bold"
android:text="@string/taiwan"
android:gravity="center"
android:button="@android:color/transparent"
android:layout_weight="1"
android:layout_marginLeft="-1dp"
android:background="@drawable/radio_button_right_selector"
android:onClick="onRadioButtonClicked"/>
你可以使用 radio1.setChecked(true);和 radio2.setChecked(假);对于另一个值