我有兩個活動(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