2017-08-14 7 views
-3

にキャストすることはできません

私は自分のウェアラブルアプリケーションにViewPagerを取得するためにthis turorialに従うことをしようとしています。しかし、私のXMLのViewPagerを変数に代入しようとすると、ViewPagerとしてではなく「View」として認識されます。これは私に、以下のエラーを与える:他のチュートリアルをチェックするときfindViewById返す「Android.view.View」、[SOLVED] ViewPager

Error

、それらのどれも、この問題を持っているように見えるん。彼らはすべて簡単に)(これはinitialisePagingにこの行がある

/* 
* 
* VIEWPAGER TUTORIAL 
* https://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/ 
* door the pseudocoder 
* */ 
public class ViewPager extends FragmentActivity { 

    private PagerAdapter pagerAdapter; 

    /* (non-Javadoc) 
     * @see android.support.v4.app.FragmentActivity#onCreate(android.os.Bundle) 
     */ 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     super.setContentView(R.layout.viewpager); 
     //initialsie the pager 
     this.initialisePaging(); 
    } 

    /** 
    * Initialise the fragments to be paged 
    */ 
    private void initialisePaging() { 

     List<Fragment> fragments = new Vector<Fragment>(); 
     fragments.add(Fragment.instantiate(this, Monitor.class.getName())); 
     fragments.add(Fragment.instantiate(this, CurrentSongOverviewWear.class.getName())); 
     this.pagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments); 

     ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager_container); 
     pager.setAdapter(this.pagerAdapter); 
    } 

} 

viewpager.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

     <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
      /> 

</LinearLayout> 

ViewPager.java ...その変数に自分のViewPagerを割り当てることができます私にエラーを与える:

ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager_container); 
+0

あなたの輸入品を投稿してください。 –

+0

Deadcodeの回答はすでに修正済みですが、返信いただきありがとうございます! –

答えて

2

あなたのクラスViewPagerという名前なので、それは今FragmentActivityから延びViewPagerのあなたのタイプにビューをキャストしようとします。もちろん、これはViewではありません。

クラスの名前を変更すると(例:ViewPagerActivity)、問題が修正されます。 ViewPagerActivity

するか、適切なフォーマットにビューをキャスト:あなたはそのチュートリアルのコードを見れば、あなたは彼らがちょうど例えば、別の名前にあなたのアクティビティの名前を変更ViewPagerFragmentActivity

+0

ああ私の神.....一日を無駄にする間違ったミス。....ありがとう!私はあなたの答えを確認するstackoverflowときに私を許可する! –

0
  1. あなたはandroid.support.v4.view.ViewPager
  2. 変更活動名を輸入していることを確認します。 ViewPagerそれ自身のクラス。これは名前を変更する必要があります。

public class ViewPagerActivity extends FragmentActivity { 
+0

は問題ではありませんでしたが、返信いただきありがとうございます! –

+0

@LievenLuyckx変更活動名 –

0

を使用していることがわかります

android.support.v4.view.ViewPagerpager = (android.support.v4.view.ViewPager) findViewById(R.id.viewpager_container); 
関連する問題