我对这段代码有疑问:
package com.app.BoomBase;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.ViewPager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(2);
}
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 3;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position)
{
case 1:
resId = R.layout.beginner;
break;
case 2:
resId = R.layout.activity_main;
break;
case 3:
resId = R.layout.advanced;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
}
和 XML 文件:
主要的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/ViewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
中间:
<?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:background="@drawable/main_background"
android:orientation="vertical" >
</LinearLayout>
初学者:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background" >
<ImageButton
android:id="@+id/ibWeather"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginRight="68dp"
android:layout_marginTop="42dp"
android:background="@null"
android:src="@drawable/weather_zero_transparrent" />
</RelativeLayout>
和先进的:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background">
问题是我不断收到这样的错误:
E/MessageQueue-JNI(20322): Exception in MessageQueue callback: handleReceiveCallback
E/MessageQueue-JNI(20322): android.content.res.Resources$NotFoundException: Resource ID #0x1
E/MessageQueue-JNI(20322): at android.content.res.Resources.getValue(Resources.java:1026)
E/MessageQueue-JNI(20322): at android.content.res.Resources.loadXmlResourceParser(Resources.java:2131)
E/MessageQueue-JNI(20322): at android.content.res.Resources.getLayout(Resources.java:865)
E/MessageQueue-JNI(20322): at android.view.LayoutInflater.inflate(LayoutInflater.java:394)
E/MessageQueue-JNI(20322): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
E/MessageQueue-JNI(20322): at com.app.BoomBase.MainActivity$MyPagerAdapter.instantiateItem(MainActivity.java:47)
E/MessageQueue-JNI(20322): at android.support.v4.view.PagerAdapter.instantiateItem(PagerAdapter.java:110)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:800)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager.populate(ViewPager.java:961)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager.populate(ViewPager.java:880)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager$3.run(ViewPager.java:238)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager.completeScroll(ViewPager.java:1696)
E/MessageQueue-JNI(20322): at android.support.v4.view.ViewPager.onInterceptTouchEvent(ViewPager.java:1829)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2060)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
E/MessageQueue-JNI(20322): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2119)
E/MessageQueue-JNI(20322): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2139)
E/MessageQueue-JNI(20322): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1476)
E/MessageQueue-JNI(20322): at android.app.Activity.dispatchTouchEvent(Activity.java:2487)
E/MessageQueue-JNI(20322): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2087)
E/MessageQueue-JNI(20322): at android.view.View.dispatchPointerEvent(View.java:7535)
E/MessageQueue-JNI(20322): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3415)
E/MessageQueue-JNI(20322): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3347)
E/MessageQueue-JNI(20322): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4456)
E/MessageQueue-JNI(20322): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4434)
E/MessageQueue-JNI(20322): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4538)
E/MessageQueue-JNI(20322): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
E/MessageQueue-JNI(20322): at android.os.MessageQueue.nativePollOnce(Native Method)
E/MessageQueue-JNI(20322): at android.os.MessageQueue.next(MessageQueue.java:125)
E/MessageQueue-JNI(20322): at android.os.Looper.loop(Looper.java:124)
E/MessageQueue-JNI(20322): at android.app.ActivityThread.main(ActivityThread.java:4921)
E/MessageQueue-JNI(20322): at java.lang.reflect.Method.invokeNative(Native Method)
E/MessageQueue-JNI(20322): at java.lang.reflect.Method.invoke(Method.java:511)
E/MessageQueue-JNI(20322): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
E/MessageQueue-JNI(20322): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
E/MessageQueue-JNI(20322): at dalvik.system.NativeStart.main(Native Method)
仅当我尝试向左滑动时才会发生此错误。
谁能帮我 ?我迷路了