我试图按照this turorial在我的可穿戴应用程序上获取ViewPager。但是,当我尝试将XML中的ViewPager分配给变量时,它只将其识别为" View",而不是ViewPager。这给了我以下错误:
检查其他教程时,似乎没有任何问题。他们都可以轻松地将他们的ViewPager分配给他们的变量......
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 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);
}
}
在initialisePaging()中的这一行给出了错误:
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager_container);
答案 0 :(得分:2)
由于您为自己的班级ViewPager
命名,因此它现在会尝试将视图投射到ViewPager
的类型,该视图从FragmentActivity
延伸。当然,这不是View
。
将您的课程重命名为例如ViewPagerActivity
- 将解决您的问题。如果您查看该教程的代码,您会看到他们使用了ViewPagerFragmentActivity
答案 1 :(得分:0)
android.support.v4.view.ViewPager
示例强>
public class ViewPagerActivity extends FragmentActivity {
答案 2 :(得分:0)
只需将您的活动重命名为其他名称,例如:ViewPagerActivity
或将视图转换为正确的格式:
android.support.v4.view.ViewPagerpager = (android.support.v4.view.ViewPager) findViewById(R.id.viewpager_container);