切换导航
{{systemName}}
{{ info.Title }}
{{info.Title}}
{{ menu.Title }}
{{menu.Title}}
登录
|
退出
搜索
Unable to start activity ComponentInfo 解决方法
作者:ych
#### 解决案例一 错误信息如下: ``` ERROR/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView ``` ``` public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。 } ``` 结论: main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。 定位错误代码: 请注意,ImageView开始标签 ```
``` `
`请注意,`ImageView`结束标签 修改后的代码: ```
``` #### 解决案例二 错误信息: ``` 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`。 修改后: ``` 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); } ``` #### 解决案例三 错误信息: ``` com.google.android.exoplayer2.ui.PlayerView cannot be cast to com.google.android.exoplayer2.ui.StyledPlayerView ``` 错误代码: xml使用了`PlayerView` ```
``` PlayVideo使用了`StyledPlayerView` ``` package com.news; import android.Manifest; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.MediaItem; import com.google.android.exoplayer2.ui.StyledPlayerView; public class PlayVideo extends AppCompatActivity { private static final String URL="https://www.w3school.com.cn/i/movie.mp4"; private ExoPlayer mExoPlayer; private StyledPlayerView mStyledPlayerView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_video); mStyledPlayerView = findViewById(R.id.exo_player); mExoPlayer = new ExoPlayer.Builder(this).build(); mStyledPlayerView.setPlayer(mExoPlayer); MediaItem mediaItem=MediaItem.fromUri(URL); mExoPlayer.setMediaItem(mediaItem); } @Override protected void onStart(){ super.onStart(); mExoPlayer.prepare(); mExoPlayer.play(); } @Override protected void onStop(){ super.onStop(); mExoPlayer.stop(); mExoPlayer.release(); } } ``` 解决方案: xml或者java进行修改 ```
```
相关推荐
java.lang.IllegalStateException: Could not execute method for android:onClick
The project uses Gradle 4.1 which is incompatible with Java 11 or newer.
评论区
先去登录
版权所有:机遇屋在线 Copyright © 2021-2025 jiyuwu Co., Ltd.
鲁ICP备16042261号-1