2012-07-17 89 views
0

我無法在我的main.xml中設置Horizo​​ntal ScrollView的位置,因爲我無法使用下面的代碼來定位它。 TextViews或按鈕,所以我不知道爲什麼一個滾動型應區別對待。Android的ScrollView導致應用程序在findViewById時崩潰(R.id

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應用程序開發和這種形式很新,因爲這是我的第一篇帖子,屬於我的第一個應用商店值得的應用程序。

我很欣賞您閱讀我的問題所花費的時間,並且我知道其他人可能會遇到此類相似/相似問題,並發現它很有用。

回答

1

當你將它轉換爲ScrollView時,它實際上是一個Horizo​​ntalScrollView。 ScollView不是Horizo​​ntalScrollView的父類,因此會引發錯誤。更改

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

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

謝謝,這是超級快!這固定了幾個小時讓我困惑的事情。 並瀏覽我找到了我的下一個問題爲什麼'scrollview1.scrollTo(40,0)的答案; ' 也沒有工作。 http://stackoverflow.com/questions/3263259/scrollview-scrollto-not-working-saving-scrollview-position-on-rotation – CharCar 2012-07-17 22:42:40

+0

很高興你找到了答案。 – skUDA 2012-07-18 16:12:17