我无法在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: mainAndroidRuntime java.land.ClassCastException: android.widget.HorizontalScrollView cannot be cast to android.widget.ScrollViewAndroidRuntime 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,它是Horizo​​ntalScrollView。 ScollView不是Horizo​​ntalScrollView的父类,因此将引发您的错误。更改

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


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

10-07 16:19