包含RadioGroup的碎片活动,有5个RadioButton5和一个Button,RadioButton5有一个EditText。
public void onCreate(Bundle savedInstanceState) {
radio1 = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("radio1", false);
radio2 = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("radio2", false);
radio3 = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("radio3", false);
radio4 = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("radio4", false);
radio5 = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean("radio5", false);
str_rbText = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("Selected_rb_msg", "nomi");
msgToSend = PreferenceManager.getDefaultSharedPreferences(getActivity()).getString("msgToSend", "");
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
viewRoot = inflater.inflate(R.layout.fragment_messages, container, false);
radioGroup = (RadioGroup) viewRoot.findViewById(R.id.radio_grp);
rb1 = (RadioButton) viewRoot.findViewById(R.id.rb_msg1);
rb2 = (RadioButton) viewRoot.findViewById(R.id.rb_msg2);
rb3 = (RadioButton) viewRoot.findViewById(R.id.rb_msg3);
rb4 = (RadioButton) viewRoot.findViewById(R.id.rb_msg4);
rb5 = (RadioButton) viewRoot.findViewById(R.id.rb_customMsg);
editText = (EditText) viewRoot.findViewById(R.id.et_customMsg);
if(radio1){
rb1.setChecked(true);
}
else if(radio2){
rb2.setChecked(true);
}
else if(radio3){
rb3.setChecked(true);
}
else if(radio4){
rb4.setChecked(true);
}
else if(radio5){
rb5.setChecked(true);
editText.setVisibility(View.VISIBLE);
editText.setHint(PreferenceManager.getDefaultSharedPreferences(getActivity()).ge
tString("Selected_rb_msg", ""));
}
function();
return viewRoot;
}
public void function(){
SharedPreferences sp =
PreferenceManager.getDefaultSharedPreferences(getActivity());
final SharedPreferences.Editor editor = sp.edit();
if(rb1.isChecked() && !rb5.isChecked() && !rb2.isChecked() &&
!rb3.isChecked() && !rb4.isChecked()){
editText.setVisibility(View.INVISIBLE);
}
radioGroup.setOnCheckedChangeListener(new
RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.rb_msg1){
str_rbText = rb1.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
//editor.putBoolean("radio1", true).apply();
} else if (checkedId == R.id.rb_msg2){
str_rbText = rb2.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
//editor.putBoolean("radio2", true).apply();
} else if (checkedId == R.id.rb_msg3){
str_rbText = rb3.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
//editor.putBoolean("radio3", true).apply();
} else if (checkedId == R.id.rb_msg4){
str_rbText = rb4.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
//editor.putBoolean("radio4", true).apply();
} else if (checkedId == R.id.rb_customMsg){
editText.setVisibility(View.VISIBLE);
editText.setHint("Enter your custom message");
str_rbText = editText.getEditableText().toString().trim();
}
});
onClicking button选定的单选按钮状态应保存在SharedPreferences中,并在启动活动时加载
Button btnSet = (Button) viewRoot.findViewById(R.id.btn_set_msgFrag);
btnSet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e("SelectedRadioButton",str_rbText);
int id = radioGroup.getCheckedRadioButtonId();
if(id == R.id.rb_msg1){
editor.putBoolean("radio1", true).apply();
}else if(id == R.id.rb_msg2){
editor.putBoolean("radio2", true).apply();
}else if(id == R.id.rb_msg3){
editor.putBoolean("radio3", true).apply();
}else if(id == R.id.rb_msg4){
editor.putBoolean("radio4", true).apply();
}else if(id == R.id.rb_customMsg){
editor.putBoolean("radio5", true).apply();
}
}
});
}
}
当将选定的radioButton的一个状态放入其他radioButton时,将false
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.rb_msg1){
str_rbText = rb1.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
editor.putBoolean("radio1", true).apply();
editor.putBoolean("radio2", false).apply();
editor.putBoolean("radio3", false).apply();
editor.putBoolean("radio4", false).apply();
editor.putBoolean("radio5", false).apply();
} else if (checkedId == R.id.rb_msg2){
str_rbText = rb2.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
editor.putBoolean("radio2", true).apply();
editor.putBoolean("radio1", false).apply();
editor.putBoolean("radio3", false).apply();
editor.putBoolean("radio4", false).apply();
editor.putBoolean("radio5", false).apply();
} else if (checkedId == R.id.rb_msg3){
str_rbText = rb3.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
editor.putBoolean("radio3", true).apply();
editor.putBoolean("radio1", false).apply();
editor.putBoolean("radio2", false).apply();
editor.putBoolean("radio4", false).apply();
editor.putBoolean("radio5", false).apply();
} else if (checkedId == R.id.rb_msg4){
str_rbText = rb4.getText().toString();
editText.setVisibility(View.INVISIBLE);
editText.setText("");
editor.putBoolean("radio4", true).apply();
editor.putBoolean("radio1", false).apply();
editor.putBoolean("radio2", false).apply();
editor.putBoolean("radio3", false).apply();
editor.putBoolean("radio5", false).apply();
} else if (checkedId == R.id.rb_customMsg){
editText.setVisibility(View.VISIBLE);
editText.setHint("Enter your custom message");
//if(editText.length() == 0){
// Toast.makeText(getContext(), "VISIBLE", Toast.LENGTH_SHORT).show();
//}
str_rbText = editText.getEditableText().toString().trim();
editor.putBoolean("radio5", true).apply();
editor.putBoolean("radio1", false).apply();
editor.putBoolean("radio2", false).apply();
editor.putBoolean("radio3", false).apply();
editor.putBoolean("radio4", false).apply();
//editText.setBackgroundDrawable(null); //to remove underline of EditText
}
editor.putString("msg2send", str_rbText).apply();
}
});
我想在下面的代码中通过SharedPreferences保存我的ToggleButton状态。请引导我。非常感谢。
下面的代码是从test.jsp页面获取数据的联机测试。现在,当用户单击一个单选按钮并单击next时,它将存储该单选按钮的值,并显示该单选按钮的next值。在这里,单选按钮正常工作,但我不能存储每个单选按钮的值单击。 上面的代码将hidden字段的值传递给test.jsp,以便带来该值。
我有4个按钮来替换活动中的片段[片段A,片段B,片段C,片段D],然后我将片段A替换为活动,然后我将片段A中的值更改为片段A,之后我将片段B替换为片段A,并将片段C替换为片段B.但是我想把片段A替换成片段C。如何在片段A中保存状态。 当我提交片段时编写代码 要替换的图表 片段A ------- 片段B ------- 片段C ------- PS.我不想使用返回按钮返回片段A,我想替换片段A并在第
我使用这个代码来替换片段,但有一个问题,它不是替换旧片段,它只是覆盖旧片段,所以请告诉我这里有什么问题。
我正在尝试学习如何在android中实现片段。因此,我在activity_main中创建了两个按钮和一个片段。xml。如果我点击第一个按钮,片段1应该充气,同样,如果我点击第二个按钮,片段2应该充气。 但是问题是它没有替换片段。当我调试代码时,在View.class中执行clecle()方法返回false。 LogCat中也没有错误。 我无法找出代码的问题。 这里是主要活动。xml 这是fragm
我有一个HomeActivity,我从中调用片段列表。在HomeActivity中,我有一个侧菜单,其中加载了所有片段。 现在,在这个列表中,我有一个名为HomeFraank的片段,它使用webservice显示带有数据的Google地图。 我想要的是我想加载Map dat只加载一次(第一次)片段,而不是每次单击sidemenu或从任何其他片段进来时。 我的HomeFragment或任何其他片段会