当活动再次可见时刷新活动的画面
问题描述:
我有两个活动(TextActivity.java
和GrammarActivity.java
),其中一个片段(ChoixLangue.java
)是一个带有四个按钮的无线电组,用于选择翻译的语言。 GrammarActivity
的父母为TextActivity
。 我可以在TextActivity
或GrammarActivity
上选择我想要的语言。而且我也可以在任何一个动作上改变它。 但如果我选择在TextActivity
一种语言,然后去GrammarActivity
,改变语言,然后杀GrammarActivity
,这让我回想起TextActivity
,它会显示错误的单选按钮,检查 - 大概是因为TextActivity
显示不刷新。 如何解决这个错误?这里是TextActivity代码`当活动再次可见时刷新活动的画面
public class TextActivity extends AppCompatActivity {
public ImageButton monImageBouton;
public Button monBouton;
public TextView monTextView;
public static RadioButton monBoutonRadio;
public static String langueChoisie = "francais";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_text);
// une des solutions pour rendre la zone trado scrollable
TextView myXmlContent = (TextView)findViewById(R.id.zone_trado_scrollable);
myXmlContent.setMovementMethod(new ScrollingMovementMethod());
verifLangue();
playText();
test("button8"); // indique la langue choisie
}
public void verifLangue(){
if(langueChoisie == "english"){
monBoutonRadio = (RadioButton)findViewById(R.id.english);
monBoutonRadio.setChecked(true);
}
else if(langueChoisie == "espanol"){
monBoutonRadio = (RadioButton)findViewById(R.id.espanol);
monBoutonRadio.setChecked(true);
}
else if(langueChoisie == "chinois"){
monBoutonRadio = (RadioButton)findViewById(R.id.chinois);
monBoutonRadio.setChecked(true);
}
else{
monBoutonRadio = (RadioButton)findViewById(R.id.francais);
monBoutonRadio.setChecked(true);
}
}
public void onRadioButtonClicked(View view) {
boolean checked = ((RadioButton) view).isChecked();
// Check which radio button was clicked
switch(view.getId()) {
case R.id.english:
if (checked)
langueChoisie = "english";
break;
case R.id.francais:
if (checked)
langueChoisie = "francais"; // checked et définie a priori
break;
case R.id.espanol:
if (checked)
langueChoisie = "espanol";
break;
case R.id.chinois:
if (checked)
langueChoisie = "chinois";
break;
}
}`
发布您的代码。 – Rami