开发者社区> 问答> 正文

Android诡异的bug求大神解救

logcat报错Unable to start activity ComponentInfo{com.example.mymail/com.example.mymail,该Loginactivity放在项目的com.example.mymail包中。。估计是注册文件androidmanifest文件的错误,修改了其Activity name中的路径,相对路径,绝对路径全改过但仍出同样的错

展开
收起
爵霸 2016-06-20 10:15:01 2163 0
1 条回答
写回答
取消 提交回答
  • Unable to start activity ComponentInfo 解决方法

    解决案例一:
    错误信息如下:

    ERROR/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView
     [java] view plaincopyprint?
    public void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。  
    }  
    

    结论:
    main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。
    我的错误如下:
    定位错误代码:

    请注意,ImageView开始标签

     <ImageView
     android:layout_height="20dip" 
     android:layout_width="wrap_content"
     android:id="@+id/ibadd"
     android:src="@drawable/freadd"
     android:layout_alignParentRight="true"
    
    
    <TextView
     android:layout_height="20dip" 
     android:layout_width="wrap_content"
     android:layout_gravity="center"
     android:id="@+id/tvfre"

    请注意,ImageView结束标签
    修改后的代码:

    [xhtml] view plaincopyprint?
      <ImageView  
     android:layout_height="20dip"   
       android:layout_width="wrap_content"  
     android:id="@+id/ibadd"  
     android:src="@drawable/freadd"  
    ndroid:layout_alignParentRight="true"  
     >  
    lt;/ImageView>  
    <TextView  
      android:layout_height="20dip"   
       android:layout_width="wrap_content"  
       android:layout_gravity="center"  
       android:id="@+id/tvfre"  
     >    
     </TextView>  

    解决案例二:

    错误信息:

    java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.lee.android/org.lee.android.MyListView4}: java.lang.NullPointerException
    
    Caused by: java.lang.NullPointerException
    
    at org.lee.android.MyListView4.(MyListView4.java:48)

    错误代码:

    private int defaultDrawable=R.drawable.radio;
    
    private String defaultTitle=getString(R.string.defaulTitle);//这是第48行,也就是NullPointerException的地方
    
    private String defaultInfo=getString(R.string.defaulInfo);
    
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
    
    super.onCreate(savedInstanceState);
         setContentView(R.layout.vlist2);                                                                          
    
    
    findViews();
    
    setListeners();
    
    }
    
    private void findViews()
    
    {
    
    tvTitle=(TextView)findViewById(R.id.mainTitleText);
    
    imgpre=(ImageView)findViewById(R.id.imgpre);
    
    }

    错误分析:

    android布局分析时,是加载
    
    layout后再加载 R.string 的,而我提前用R.string来初始化变量,所以出错

    解决方案:

    setContentView(R.layout.vlist2); 之后再初始化defaultTitle,defaultInfo。

    修改后的代码:

     [java] view plaincopyprint?
        private int defaultDrawable=R.drawable.radio;  
        private String defaultTitle;  
    
    private String defaultInfo;  
    
        @Override  
        public void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
    
             setContentView(R.layout.vlist2);                                                                            
    
              findViews();  
              setListeners();  
        }  
        private void findViews()  
        {  
            tvTitle=(TextView)findViewById(R.id.mainTitleText);  
            imgpre=(ImageView)findViewById(R.id.imgpre);  
    defaultTitle=getString(R.string.defaulTitle);  
    
    defaultInfo=getString(R.string.defaulInfo);  
        }  
    2019-07-17 19:43:42
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载