私は MyPrimaryClass という名前のクラスを持っています。このクラスには、押されたときにボタンの魔女があり、クラス myClassForResult でインテントを作成します。
これを使用して開始します:
startActivityForResult(myIntentOfMyClassForResult, ACTIVITY_EDIT_BTEXT);
MyPrimaryClass と myClassForResult はどちらも Activity を拡張します。
そのため、R.string.my_resource_string の text パラメーターを指定して myClassForResult 内で Toast.makeText を呼び出すと、強制的に閉じることができます。
私はこれを試しました:
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の値は「The title is empty」です
その値を「The title」に変更すると、正しく機能したため、文字列が 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();