举例说明关于android编程中遇到的java.lang.ClassCastException: android.app.Application问题的原因及解决办法

LogCat中的错误提示如下:

 java.lang.RuntimeException: Unable to resume activity {com.baidu.map/com.baidu.map.BaiduMapApiActivity}: java.lang.ClassCastException: android.app.Applicat

Caused by: java.lang.ClassCastException: android.app.Application

 

错误原因:

protected void onResume(){
     BMapApiDemoApp app=(BMapApiDemoApp)this.getApplication();
     if(!app.m_bKeyRight){//如果验证没有通过,则提示输入正确的授权key值
      TextView text=(TextView)findViewById(R.id.text_Info);
      text.setText("请在BMapApiDemoApp.java文件中输入正确的授权Key !\r\n"+"申请地址:
http://dev.baidu.com/wiki/static/imap/key/");
      text.setTextColor(Color.RED);
     }
     super.onResume();
    }

 

在上面这段代码中用到了
     BMapApiDemoApp app=(BMapApiDemoApp)this.getApplication();
这一句,却没有在AndroidManifest.xml中的application中添加

android:name=".BMapApiDemoApp"

这句话。

 

解决办法,在AndroidManifest.xml中的application中添加上

android:name=".BMapApiDemoApp"

即可。

你可能感兴趣的:(举例说明关于android编程中遇到的java.lang.ClassCastException: android.app.Application问题的原因及解决办法)