У меня есть класс с именем MyPrimaryClass, у этого класса есть кнопка ведьма при нажатии, которая создает Intent с классом myClassForResult.
Я использую это для его запуска:
startActivityForResult(myIntentOfMyClassForResult, ACTIVITY_EDIT_BTEXT);
ОбаMyPrimaryClass и myClassForResult расширяют Activity.
Итак, когда я вызываю Toast.makeText в myClassForResult, с текстовым параметром R.string.my_resource_string, это дает мне принудительное закрытие!
У меня естьпробовал это:
Context c = myClassForResult.this;
Toast toast = Toast.makeText(c,
c.getResources().getString(R.string.my_resource_string),
Toast.LENGTH_SHORT);
toast.show();
Также это: c = getApplicationContext ()
Также это: c = getBaseContext ()
Также это:
Context c = MyPrimaryClass.this;
Toast toast = Toast.makeText(c,
R.string.my_resource_string,
Toast.LENGTH_SHORT);
toast.show();
Если я использую строковую строку, например «My toast Text!», Это работает.Но мне нужно получить строку из ресурсов.
-Проблема решена:
Чтобы решить проблему, я изменил продолжительность тоста на Toast.LENGTH_LONG
Строка R.string.my_resource_string значение равно «Заголовок пуст»
Когда я изменяю его значение на «Заголовок», оно работает правильно, поэтому я предполагаю, чтоСтрока была слишком длинной для продолжительности Toast.LENGTH_SHORT.
Но когда я изменил продолжительность на Toast.LENGTH_LONG , я мог бы использовать длинную строку.
Context c = MyPrimaryClass.this;
Toast toast = Toast.makeText(c,
R.string.my_resource_string,
Toast.LENGTH_LONG);
toast.show();