0

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

4

1 回答 1

1

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

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

HorizontalScrollView scrollview1 = (HorizontalScrollView)findViewById(R.id.scrollview1);
于 2012-07-17T21:00:07.180 回答