Если вы не хотите перезапускать свою деятельность, можете использовать следующий способ
private void updateResource(ViewGroup viewGroup) {
int count = viewGroup.getChildCount();
for (int i = 0; i < count; i++) {
View view = viewGroup.getChildAt(i);
if (view instanceof ViewGroup)
updateResource((ViewGroup) view);
else {
if(view.getTag()==null){
continue;
}
int resId = getResources().getIdentifier(view.getTag().toString(), “string”, getPackageName());
if(view instanceof EditText){
EditText editText=(EditText)view;
editText.setHint(getString(resId));
}else if(view instanceof TextView){
TextView textView=(TextView) view;
textView.setText(getString(resId));
}else if(view instanceof Button){
Button button=(Button) view;
button.setText(getString(resId));
}
}
}
}
Кроме того, в вашем xml макете добавьте тег для каждого представления, в котором есть пример строки:
android:text=“@string/text_example”
android:tag=“text_example”
Надеюсь, это поможет