我设法通过 AsyncTask 成功处理 JSON对象的 HttpPost 。众所周知,整个编码都是在 doInBackground()方法中进行的,之后是 onPostExecute()随着UI的进展需要显示的内容。因此,我想显示一个带有OK按钮的对话框,该过程已成功完成。
但是当我调试/运行时,我得到臭名昭着的“未找到源”运行时错误。 这是我所犯错误的scrshot链接: Dialog.class missing!
代码是这样的:
protected void onPostExecute(JSONObject result)
{
if (statusCode==HttpStatus.SC_CREATED)
{
AlertDialog.Builder msgBox = new AlertDialog.Builder(getBaseContext());
msgBox.setTitle("User registration");
msgBox.setIcon(R.drawable.confirmed_icon);
msgBox.setMessage("Registration succesfully completed!");
msgBox.setPositiveButton("OK", new OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
/*Intent intent = new Intent(getApplicationContext(), ScardsMainActivity.class);
startActivity(intent);*/
}
});
msgBox.create();
msgBox.show();
}//if statement ends.
}//onPostExecute ends.
我知道这是多余的,也许是一个虚假的问题并在SO中问过几次,但我是Android的新手,因此我需要更多关于错误遇到问题的帮助和信息。
答案 0 :(得分:1)
如果您在从崩溃中调试堆栈跟踪时遇到此问题,则需要附加Android源代码才能查看内置类的代码,例如Dialog.java
。网上有一些教程可以显示正确的步骤,例如this one。
修改强>:
我在链接中对Android源代码的引用已过时,但您可以通过克隆Github上的platform_frameworks_base存储库来获取相关的Java类。
答案 1 :(得分:0)
这实际上并不是一个错误,只表示调试器找不到Dialog类的源代码。如果正常运行代码,则不应该发生。