1

我下面的Android Programming: The Big Nerd Ranch Guide并没有使用ViewPager通过2档为例充气ViewPager:从XML布局

文件res/values/ids.xml定义XML的ID:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="viewPager" /> 
</resources> 

和Java源文件CrimePagerActivity.java使用该ID:

public class CrimePagerActivity extends FragmentActivity { 
    private ViewPager mViewPager; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     mViewPager = new ViewPager(this); 
     mViewPager.setId(R.id.viewPager); 
     setContentView(mViewPager); 

我曾试图改变的例子有ViewPager对象从XML布局文件被夸大RES /布局/ crime_pager.xml(而不是只用一个id的):

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

    <ViewPager 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/view_pager" /> 

</LinearLayout> 

然后我试图使用该对象在CrimePagerActivity.java

public class CrimePagerActivity extends FragmentActivity { 
    private ViewPager mViewPager; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.crime_pager); 
     mViewPager = (ViewPager)findViewById(R.id.view_pager); 

不幸的是,这并不工作,并未能与RuntimeException和一点信息(这里fullscreen):

Eclipse screenshot

请问这里有什么问题?

+0

后堆栈跟踪,请! – mmlooloo 2014-10-02 13:27:36

+0

正如你可以在屏幕截图中看到的 - 没有堆栈跟踪 – 2014-10-02 13:29:27

+0

,你可以看到它说设备断开连接:-)。正确连接并运行它,然后复制并粘贴logcat并将其放入您的问题中。 – mmlooloo 2014-10-02 13:31:33

回答

2

变化:

<ViewPager 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/view_pager" /> 

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