我无法在main.xml中设置我的Horizontal 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,它是HorizontalScrollView。 ScollView不是HorizontalScrollView的父类,因此将引发您的错误。更改
ScrollView scrollview1 = (ScrollView)findViewById(R.id.scrollview1);
至
HorizontalScrollView scrollview1 = (HorizontalScrollView)findViewById(R.id.scrollview1);