【问题标题】:Android ScrollView causes app to crash when findViewById(R.id当 findViewById(R.id) 时,Android ScrollView 导致应用程序崩溃
【发布时间】:2012-07-18 05:00:07
【问题描述】:

我无法在 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返回键退出菜单并返回main.xml,水平滚动视图1从左侧设置40dp。

    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 可能会遇到相同/类似的问题并发现这很有用。

【问题讨论】:

    标签: java android crash scrollview


    【解决方案1】:

    实际上它是一个Horizo​​ntalScrollView,你将它转换为一个ScrollView。 ScollView 不是 Horizo​​ntalScrollView 的父类,因此会引发您的错误。改变

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

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

    【讨论】:

    • 谢谢,速度超级快!这解决了困扰我几个小时的问题。浏览一下,我找到了下一个问题的答案,即为什么 'scrollview1.scrollTo(40,0); ' 也没有工作。 stackoverflow.com/questions/3263259/…
    猜你喜欢
    • 2023-04-02
    • 2014-05-08
    • 2013-12-02
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 2020-11-16
    • 2018-01-29
    相关资源
    最近更新 更多