Android viewpager出现错误

Android viewpager出现错误,android,xml,textview,Android,Xml,Textview,这是我的密码 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.Gravity; import android.view.LayoutInflater; imp

这是我的密码

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.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ScrollView;
import android.widget.TextView;

public class CurrentActivity extends InfoActivity {

    private ViewPager columnas;
    private static int NUM_COLUMNAS = 4;
    private Context cxt;
    private ColumnAdapter miAdapter;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_current);
        info();
        cxt = this;

        miAdapter = new ColumnAdapter();
        columnas = (ViewPager) findViewById(R.id.columnas);
        columnas.setAdapter(miAdapter);

        TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.titles);
        titleIndicator.setViewPager(columnas);

    }

    private class ColumnAdapter extends PagerAdapter {

        @Override
        public int getCount() {
            return NUM_COLUMNAS;
        }

        @Override
        public Object instantiateItem(View collection, int position) {
            ScrollView v = (ScrollView) LayoutInflater.from(cxt).inflate(
                    R.layout.info, null);

            if (position == 0) {
                v = (ScrollView) LayoutInflater.from(cxt).inflate(
                        R.layout.info, null);

            } else if (position == 1) {
                v = (ScrollView) LayoutInflater.from(cxt).inflate(
                        R.layout.look, null);
            } else if (position == 2) {
                v = (ScrollView) LayoutInflater.from(cxt).inflate(
                        R.layout.touch, null);
            } else if (position == 3) {
                v = (ScrollView) LayoutInflater.from(cxt).inflate(
                        R.layout.tilt, null);
            }

            ((ViewPager) collection).addView(v, 0);

            return v;
        }

        @Override
        public void destroyItem(View collection, int position, Object view) {
            ((ViewPager) collection).removeView((ScrollView) view);
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == ((ScrollView) object);
        }

        @Override
        public void finishUpdate(View arg0) {
        }

        @Override
        public void restoreState(Parcelable arg0, ClassLoader arg1) {
        }

        @Override
        public Parcelable saveState() {
            return null;
        }

        @Override
        public void startUpdate(View arg0) {

        }

        @Override
        public CharSequence getPageTitle(int position) {
            String a = null;
            TextView info = (TextView) findViewById(R.id.info_textview_info);
            TextView look = (TextView) findViewById(R.id.info_textview_look);
            TextView touch = (TextView) findViewById(R.id.info_textview_touch);
            TextView tilt = (TextView) findViewById(R.id.info_textview_tilt);

            if (position == 0) {
                a = getResources().getString(R.string.info).toUpperCase();
                info.setText((R.string.one_lev_info));
                info.setGravity(Gravity.LEFT);
                info.setTextSize(15);

            } else if (position == 1) {
                a = getResources().getString(R.string.look).toUpperCase();
                look.setText((R.string.one_lev_look));
                look.setGravity(Gravity.LEFT);
                look.setTextSize(15);

            } else if (position == 2) {
                a = getResources().getString(R.string.touch).toUpperCase();
                touch.setText((R.string.one_lev_look));
                touch.setGravity(Gravity.LEFT);
                touch.setTextSize(15);

            } else if (position == 3) {
                a = getResources().getString(R.string.tilt).toUpperCase();
                tilt.setText((R.string.one_lev_look));
                tilt.setGravity(Gravity.LEFT);
                tilt.setTextSize(15);

            }
            return a;

        }

    }
touch.setText((R.string.one_lev_look));
好的,这是我的信息布局,例如:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="5dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp" >

    <TextView
        android:id="@+id/info_textview_look"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/look_no"
        android:textColor="#4D4D4D"
        android:textSize="25dp"
        android:textStyle="normal" />

</ScrollView>
touch.setText((R.string.one_lev_look));
但是,当我删除所有与Textview触摸和倾斜相关的内容时,一切正常。所以我试着只写了3列,但仍然只有第三列有问题。也许我错了

touch.setText((R.string.one_lev_look));
这是错误日志

touch.setText((R.string.one_lev_look));
07-30 08:40:09.204: E/AndroidRuntime(9115): FATAL EXCEPTION: main
07-30 08:40:09.204: E/AndroidRuntime(9115): java.lang.NullPointerException
07-30 08:40:09.204: E/AndroidRuntime(9115):     at my.package.oh.yes.CurrentActivity$ColumnAdapter.getPageTitle(CurrentActivity.java:110)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.viewpagerindicator.TitlePageIndicator.getTitle(TitlePageIndicator.java:802)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.viewpagerindicator.TitlePageIndicator.calcBounds(TitlePageIndicator.java:639)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.viewpagerindicator.TitlePageIndicator.calculateAllBounds(TitlePageIndicator.java:616)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.viewpagerindicator.TitlePageIndicator.onDraw(TitlePageIndicator.java:336)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.View.draw(View.java:6970)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.View.draw(View.java:6973)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.View.draw(View.java:6973)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.widget.FrameLayout.draw(FrameLayout.java:357)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.drawChild(ViewGroup.java:1732)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1459)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.View.draw(View.java:6973)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.widget.FrameLayout.draw(FrameLayout.java:357)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1997)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewRoot.draw(ViewRoot.java:1600)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewRoot.performTraversals(ViewRoot.java:1321)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1957)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.os.Handler.dispatchMessage(Handler.java:99)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.os.Looper.loop(Looper.java:150)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at android.app.ActivityThread.main(ActivityThread.java:4277)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at java.lang.reflect.Method.invokeNative(Native Method)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at java.lang.reflect.Method.invoke(Method.java:507)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-30 08:40:09.204: E/AndroidRuntime(9115):     at dalvik.system.NativeStart.main(Native Method)

您有什么建议?

您的版面中没有ID为:
info\u TextView\u touch
的文本视图。因此,此方法
findviewbyd(R.id.info\u textview\u touch)将向您返回null

touch.setText((R.string.one_lev_look));
当你试着打电话的时候

touch.setText((R.string.one_lev_look));
touch.setText((R.string.one_lev_look));
您将得到一个nullPointerException,因为object
touch
为null

touch.setText((R.string.one_lev_look));

如果您想使用其他文本视图,您需要将它们添加到布局xml文件中。

请也粘贴堆栈跟踪详细信息。我忘了告诉您,我还有另外三个布局,其中包含另外三个文本视图。所以没有错;将仅返回传递给
setContentView(R.layout.activity\u current)的布局中的视图
因此您需要将其他文本视图移动到activity_current.xml文件中。
touch.setText((R.string.one_lev_look));