Android开发报错:无法解析符号'resid'和'show()'求助
Fixing "Cannot resolve symbol 'resid' and 'show()'" in Android Toast Implementation
你遇到的错误完全是因为错误使用了resid:语法在Toast.makeText的调用里,这完全不符合Android Toast的参数规范。
问题分析
Toast.makeText()的正确方法签名是:
Toast.makeText(Context context, CharSequence text, int duration).show();
你在字符串前面额外加了resid:,这会让编译器误以为resid是一个变量或符号,但它根本不存在,直接导致了"Cannot resolve symbol 'resid'"的错误;而show()的报错其实是前面语法错误引发的连锁问题,只要修正前面的参数,这个错误自然会消失。
修正后的代码
把所有Toast调用里的resid:删掉就可以了,以下是修正后的完整代码片段:
@Override public void onComplete(@NonNull Task<AuthResult> task) { if(task.isSuccessful()){ sendToMain(); } else { String errorMessage = task.getException().getMessage(); Toast.makeText(RegisterActivity.this, "Error : " + errorMessage, Toast.LENGTH_LONG).show(); } reg_progress.setVisibility(View.INVISIBLE); } }); } else { Toast.makeText(RegisterActivity.this, "Confirm Password and Password Field doesn't Match.", Toast.LENGTH_LONG).show(); }
额外提示
如果你本来是想引用字符串资源(比如R.string.error_message),正确的写法应该是把字符串资源ID作为第二个参数,而不是加resid:前缀,比如:
Toast.makeText(RegisterActivity.this, R.string.password_mismatch, Toast.LENGTH_LONG).show();
但根据你的代码内容,你是直接使用硬编码的字符串提示,所以直接去掉resid:就完全解决问题了。
内容的提问来源于stack exchange,提问作者Guduri hari
相关产品推荐
相关产品推荐

