我正在关注 Android Programming: The Big Nerd Ranch Guide并且有一个使用 ViewPager 的示例通过 2 个文件:
文件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/layout/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)而失败:
请问这里有什么问题?
最佳答案
改变:
<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>
关于android - 从 XML 布局扩展 ViewPager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26160477/