Java 在onActivityResult中显示吐司
当某个活动返回结果时,我试图显示toast消息。但是,我使用的是定制的充气吐司。普通吐司可以正常工作,但我的定制吐司不会显示。代码如下 主要活动的Java 在onActivityResult中显示吐司,java,android,toast,onactivityresult,Java,Android,Toast,Onactivityresult,当某个活动返回结果时,我试图显示toast消息。但是,我使用的是定制的充气吐司。普通吐司可以正常工作,但我的定制吐司不会显示。代码如下 主要活动的onCreate(): 活动结果上的主要活动的: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data){ switch(requestCode) { case SIGNUP_VIEW:
onCreate()
:
活动结果上的主要活动的:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode) {
case SIGNUP_VIEW:
if(resultCode == RESULT_OK){
toastText.setText(data.getExtras().getString("message"));
toast.show();
}
break;
}
}
有了以上内容,我看不到祝酒词。但是,如果要将onActivityResult中的行替换为Toast.makeText(getBaseContext(),“MESSAGE”,Toast.LENGTH\u LONG).show()
,则会出现一条消息。在这种情况下,我需要能够使用我的自定义吐司。感谢您的帮助或指导。您的错误很简单:您更改了
text字段toast text,不添加要显示的toast文本
此代码应适用于:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode) {
case SIGNUP_VIEW:
if(resultCode == RESULT_OK){
toast.setText(data.getExtras().getString("message"));
toast.show();
}
break;
}
}
您的错误很简单:您更改了
text字段toast text,不添加要显示的toast文本
此代码应适用于:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
switch(requestCode) {
case SIGNUP_VIEW:
if(resultCode == RESULT_OK){
toast.setText(data.getExtras().getString("message"));
toast.show();
}
break;
}
}
事实证明,问题就在我的其他活动中。我正在使用以下设置我的额外信息:
Intent intent = new Intent();
intent.putExtra("message", R.string.messages_signup_success);
setResult(RESULT_OK, intent);
finish();
但是,R.string.messages\u signup\u success
返回一个int,当检索到该int时会抛出一个非关键警告,并继续执行,而不显示我的toast,但不会崩溃。将代码更改为以下可修复此问题:
Intent intent = new Intent();
intent.putExtra("message", getBaseContext().getString(R.string.messages_signup_success));
setResult(RESULT_OK, intent);
finish();
事实证明,问题就在我的其他活动中。我正在使用以下设置我的额外信息:
Intent intent = new Intent();
intent.putExtra("message", R.string.messages_signup_success);
setResult(RESULT_OK, intent);
finish();
但是,R.string.messages\u signup\u success
返回一个int,当检索到该int时会抛出一个非关键警告,并继续执行,而不显示我的toast,但不会崩溃。将代码更改为以下可修复此问题:
Intent intent = new Intent();
intent.putExtra("message", getBaseContext().getString(R.string.messages_signup_success));
setResult(RESULT_OK, intent);
finish();
实际上,toast文本是一个文本视图,它是我的自定义toast的自定义布局的一部分。设置它会设置文本。我应该解释一下。在我的自定义布局中,toast.setText确实不是必需的。我已经在很多地方使用了相同的概念,并且它工作得非常完美。但是我不认为它也在onActivityResult方法中设置了文本。还是真的?真的。我现在发现了问题所在。我在下面发布了一个答案。实际上,toast文本是一个文本视图,它是我自定义toast的自定义布局的一部分。设置它会设置文本。我应该解释一下。在我的自定义布局中,toast.setText确实不是必需的。我已经在很多地方使用了相同的概念,并且它工作得非常完美。但是我不认为它也在onActivityResult方法中设置了文本。还是真的?真的。我现在发现了问题所在。我在下面贴了一个答案。