首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

为什么Android布局中VideoView和Button不能共存解决思路

2012-03-24 
为什么Android布局中VideoView和Button不能共存今天在一个LayOut中添加了VideoView和一个Button,想通过点

为什么Android布局中VideoView和Button不能共存
今天在一个LayOut中添加了VideoView和一个Button,想通过点击Button改变VideoView的大小

Java code
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_gravity="center"    android:orientation="vertical" >        <Button         android:id="@+id/btnchangesize"        android:layout_width="320px"           android:layout_height="wrap_content"        android:text="点击改变分辨率">    </Button>           <VideoView           android:id="@+id/video1"           android:layout_width="320px"           android:layout_height="240px"           android:layout_centerInParent="true" >       </VideoView></LinearLayout>
然后再Acitvity中加载这个layout,可是这个Activity一执行就会报错
Java code
public class TestAct extends Activity {        private static final String LOG_TAG = "VideoPlayTest";        private VideoView videoView1;        private Button btnChangeSize;        public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.testact);        Log.i(LOG_TAG, "******* 开始播放视频 *******");        btnChangeSize = (Button) findViewById(R.id.btnchangesize);        btnChangeSize.setOnClickListener(new View.OnClickListener() {                            @Override            public void onClick(View v) {Log.i(LOG_TAG, "******* 点击事件 *******");            //                videoView1.pause();//                    //                LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(640, 480);//                lp.gravity = Gravity.CENTER;//                videoView1.setLayoutParams(lp);//                    //                videoView1.resume();            }        });                // 找到第二个VideoView//        String MEDIA_LOCATE1 = "/mnt/sdcard/mtv.3g2";//        videoView1 = (VideoView)this.findViewById(R.id.video1);//        videoView1.setVideoPath(MEDIA_LOCATE1);//            //        videoView1.start();                        }}
异常代码
Java code
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test/com.test.TestAct}:java.lang.ClassCastException: android.widget.VideoView

PS:把Button注释掉也是一样的,请了解的大虾指点一二,不慎感激

[解决办法]
Log结果显示的原因是findViewById得到的View对象经强转成VideoView出错,因为它并不是VideoView对象导致.
你再检查你的代码

热点排行