当我在自定义方法中使用setText时,Android Studio textview文本没有改变

时间:2015-06-07 17:06:22

标签: java android android-studio textview settext

我正在使用以下内容更改符号:

private void updateCurrencySymbol() {
    SharedPreferences sharedPreferences  = PreferenceManager.getDefaultSharedPreferences(this);

    String symbol = sharedPreferences.getString("preferences_currency", "$");
    Toast.makeText(getApplicationContext(),symbol,Toast.LENGTH_LONG).show();
    currencySymbol1 = (TextView) findViewById(R.id.currencySymbol1);
    currencySymbol2 = (TextView) findViewById(R.id.currencySymbol2);
    currencySymbol1.setText(symbol);
    currencySymbol2.setText(symbol);
    //refreshes the activity
    Bundle temp_bundle = new Bundle();
    onSaveInstanceState(temp_bundle);
    Intent intent = new Intent(this, MainActivity.class);
    intent.putExtra("bundle", temp_bundle);
    startActivity(intent);
    finish();
}

在Toast中,它显示了我从设置中选择的正确符号,但它在实际的TextView中永远不会改变。我尝试更改onCreate()方法中的文本,它可以工作,更改为我指定的字符串。

1 个答案:

答案 0 :(得分:2)

由于SharedPreferences的数据不会改变,因此不会因此而烦恼。无需重新启动活动。不需要全部。只需将textText()设为textview即可。然后保存到sharedPrefrences以便将来启动。