Android 当活动再次可见时刷新其显示

Android 当活动再次可见时刷新其显示,android,refresh,Android,Refresh,我有两个活动TextActivity.java和GrammarActivity.java,其中一个片段ChoixLangue.java是一个单选组,有四个按钮选择翻译语言。 GrammarActivity的父级是TextActivity。 我可以在TextActivity或GrammarActivity上选择所需的语言。我也可以根据自己的意愿改变它。 但是如果我在TextActivity上选择了一种语言,然后转到GrammarActivity并更改语言,然后取消GrammarActivity,这

我有两个活动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;
    }
}`

我不确定我是否完全理解你的问题,但最好的选择是对单选按钮使用EventHandler,它将获得所选值并将其存储在Grammar和Text两个类中。
我假设您希望为语法活动所做的选择也应保留在文本活动中。

实际上,所选语言的值已正确记录并由两个活动共享。当我返回到TextActivity时,它只是显示所选语言,虽然没有更新,但翻译会使用所选的新语言运行。那么您有任何ItemListeners吗?一段代码片段会更好。你可以编辑你的问题,或者在“code”标记之间写代码