我无法在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返回键退出菜单并返回main.xml,水平scrollview1从左侧设置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可能会遇到同样/类似的问题而且发现这很有用。
答案 0 :(得分:1)
当你将它转换为ScrollView时,它实际上是一个HorizontalScrollView。 ScollView不是HorizontalScrollView的父类,因此抛出了您的错误。变化
ScrollView scrollview1 = (ScrollView)findViewById(R.id.scrollview1);
到
HorizontalScrollView scrollview1 = (HorizontalScrollView)findViewById(R.id.scrollview1);