Android - 对话框没有显示,而是弹出Source Not Found错误

时间:2012-11-08 19:35:47

标签: android android-asynctask android-alertdialog

我设法通过 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的新手,因此我需要更多关于错误遇到问题的帮助和信息。

2 个答案:

答案 0 :(得分:1)

如果您在从崩溃中调试堆栈跟踪时遇到此问题,则需要附加Android源代码才能查看内置类的代码,例如Dialog.java。网上有一些教程可以显示正确的步骤,例如this one

修改

我在链接中对Android源代码的引用已过时,但您可以通过克隆Github上的platform_frameworks_base存储库来获取相关的Java类。

答案 1 :(得分:0)

这实际上并不是一个错误,只表示调试器找不到Dialog类的源代码。如果正常运行代码,则不应该发生。