繁体   English   中英

Android ScrollView在findViewById(R.id

[英]Android ScrollView causes app to crash when findViewById(R.id

我无法在main.xml中设置我的Horizo​​ntal ScrollView的位置,因为无法使用下面的代码来定位它。 在定位TextViews或Buttons时,此方法一直对我有用,因此我不确定为什么应该以不同的方式对待ScrollView。

ScrollView scrollview1 = (ScrollView)findViewById(R.id.scrollview1);

到目前为止,我还没有找到一个可行的例子,说明有人在做一些类似的事情,可以成功地将其实现到我的代码中,以将我的栏滚动到需要的地方。

这是我的错误日志在应用崩溃期间显示的内容

dalvikvm threadid=1: thread exiting with uncaught exception (group=0x409c01f8)

AndroidRuntime FATAL EXCEPTION: main

AndroidRuntime java.land.ClassCastException: android.widget.HorizontalScrollView cannot be cast to android.widget.ScrollView

AndroidRuntime at com.testButtons.TestButtonsActivity.onKeyDown(TestButtonsActivity.java)

这是保存有问题代码的代码块。

我正在使用android返回键退出菜单,然后从左侧将水平scrollview1设置为40dp返回main.xml。

    public boolean onKeyDown(int keyCode, KeyEvent event)  {
        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
            if(pageNum < 4){

                setContentView(R.layout.main);

                ScrollView scrollview1 = (ScrollView)findViewById(R.id.scrollview1);
                //scrollview1.scrollTo(40,0);

            }else if(pageNum >= 4 && pageNum < 20){

                setContentView(R.layout.main2);
                pageNum=0;
            }

            return true;
        }

        return super.onKeyDown(keyCode, event);
    }

我对android应用程序开发和这种形式还很陌生; 因为这是我的第一篇有关我的首个应用商店值得应用的文章。

我感谢您花时间阅读我的问题,并且我知道其他android noobies可能也会遇到这个相同/相似的问题,并认为这很有用。

实际上,您正在将其强制转换为ScrollView。 ScollView不是Horizo​​ntalScrollView的父类,因此将引发您的错误。 更改

ScrollView scrollview1 = (ScrollView)findViewById(R.id.scrollview1);

HorizontalScrollView scrollview1 = (HorizontalScrollView)findViewById(R.id.scrollview1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM