<p>解决案例一:</p><pre class="brush:java;toolbar:false">publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。 }</pre><p>错误信息如下:</p><pre class="brush:delphi;toolbar:false">ERROR/AndroidRuntime(327):java.lang.RuntimeException:UnabletostartactivityComponentInfo{org.lee.android/org.lee.android.radioPlayer}:java.lang.ClassCastException:android.widget.ImageView</pre><p></p><p>结论:</p><p>main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。</p><p>我的错误如下:</p><p>定位错误代码:</p><p>请注意,ImageView开始标签</p><pre class="brush:xml;toolbar:false">&lt;ImageView android:layout_height=&quot;20dip&quot; android:layout_width=&quot;wrap_content&quot; android:id=&quot;@+id/ibadd&quot; android:src=&quot;@drawable/freadd&quot; android:layout_alignParentRight=&quot;true&quot; &gt; &lt;TextView android:layout_height=&quot;20dip&quot; android:layout_width=&quot;wrap_content&quot; android:layout_gravity=&quot;center&quot; android:id=&quot;@+id/tvfre&quot; &gt; &lt;/TextView&gt; &lt;/ImageView&gt;</pre><p>请注意,ImageView结束标签<br/></p><p>修改后的代码:</p><pre class="brush:java;toolbar:false">&lt;ImageView android:layout_height=&quot;20dip&quot; android:layout_width=&quot;wrap_content&quot; android:id=&quot;@+id/ibadd&quot; android:src=&quot;@drawable/freadd&quot; android:layout_alignParentRight=&quot;true&quot; &gt; &lt;/ImageView&gt; &lt;TextView android:layout_height=&quot;20dip&quot; android:layout_width=&quot;wrap_content&quot; android:layout_gravity=&quot;center&quot; android:id=&quot;@+id/tvfre&quot; &gt; &lt;/TextView&gt;</pre><p>解决案例二:</p><p>错误信息:</p><pre class="brush:java;toolbar:false">java.lang.RuntimeException:UnabletoinstantiateactivityComponentInfo{org.lee.android/org.lee.android.MyListView4}:java.lang.NullPointerException Causedby:java.lang.NullPointerException atorg.lee.android.MyListView4.&lt;init&gt;(MyListView4.java:48)</pre><p></p><p>错误代码:</p><pre class="brush:java;toolbar:false">privateintdefaultDrawable=R.drawable.radio; privateStringdefaultTitle=getString(R.string.defaulTitle);//这是第48行,也就是NullPointerException的地方 privateStringdefaultInfo=getString(R.string.defaulInfo); @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.vlist2); findViews(); setListeners(); } privatevoidfindViews() { tvTitle=(TextView)findViewById(R.id.mainTitleText); imgpre=(ImageView)findViewById(R.id.imgpre); }</pre><p>错误分析:</p><p>android布局分析时,是加载</p><p>layout后再加载 R.string 的,而我提前用R.string来初始化变量,所以出错</p><p>解决方案:</p><p>setContentView(R.layout.vlist2); 之后再初始化defaultTitle,defaultInfo。</p><p>修改后的代码:</p><pre class="brush:java;toolbar:false"> privateintdefaultDrawable=R.drawable.radio; privateStringdefaultTitle; privateStringdefaultInfo; @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.vlist2); findViews(); setListeners(); } privatevoidfindViews() { tvTitle=(TextView)findViewById(R.id.mainTitleText); imgpre=(ImageView)findViewById(R.id.imgpre); defaultTitle=getString(R.string.defaulTitle); defaultInfo=getString(R.string.defaulInfo); }</pre>
T:0.009281s,M:248.08 KB
返回顶部 留言