无法设置文本ViewPager [英] Cannot set text in ViewPager

查看:151
本文介绍了无法设置文本ViewPager的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我ViewPager工作正常,但现在我想在我的ViewPager图像的顶部添加TexView,所以文本是连接到寻呼机。

我可以定义TexView很好,但是当我尝试的setText()返回在此行一个NullPointerException异常:

score.setText(TEST);

下面是code为我的适配器:

 私有类MyPagerAdapter扩展PagerAdapter {    公众诠释的getCount(){
        返回5;
    }    公共对象instantiateItem(查看收集,INT位置){        LayoutInflater吹气=(LayoutInflater)collection.getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);        INT渣油= 0;
        开关(位置){
        情况下0:
            渣油= R.layout.farleft;            分数=(的TextView)findViewById(R.id.textView1);
            ** EXCEPTION这里** score.setText(TEST);            打破;
        情况1:
            渣油= R.layout.left;
            打破;
        案例2:
            渣油= R.layout.middle;
            打破;
        案例3:
            渣油= R.layout.right;
            打破;
        情况4:
            渣油= R.layout.farright;
            打破;
        }        查看查看= inflater.inflate(渣油,NULL);
        view.setTag(位置);        view.setOnClickListener(新OnClickListener(){
            公共无效的onClick(查看视图){                INT位置=(整数)view.getTag();
                Log.v(Log_tag,在这里,图像点击+位置);                如果(位置== 0){
                    意向意图=新意图(LogoQuizActivity.this,
                            LevelOne.class);
                    startActivity(意向);                }                如果(位置== 1){
                    意向意图=新意图(getBaseContext()
                            LevelTwo.class);
                    startActivity(意向);
                }                如果(位置== 2){
                    意向意图=新意图(getBaseContext()
                            LevelThree.class);
                    startActivity(意向);
                }                如果(位置== 3){
                    意向意图=新意图(getBaseContext()
                            LevelFour.class);
                    startActivity(意向);
                }                如果(位置== 4){
                    意向意图=新意图(getBaseContext()
                            LevelFive.class);
                    startActivity(意向);
                }
            }
        });
        ((ViewPager)集合).addView(查看,0);        返回视图。
    }


解决方案

使用此

 查看=(查看)inflater.inflate(R.layout.your_layout,NULL);

和查找的文本视图,如

 分数=(TextView中)view.findViewById(R.id.textView1);
score.setText(TEST);

My ViewPager works fine, but I am now trying to add a TexView on top of the image in my ViewPager, so the text is 'attached' to the pager.
I can define the TexView fine, but when I try to setText() it returns a NullPointerException on this line:
score.setText("TEST");

Here is the code for my adapter:

  private class MyPagerAdapter extends PagerAdapter {

    public int getCount() {
        return 5;
    }

    public Object instantiateItem(View collection, int position) {

        LayoutInflater inflater = (LayoutInflater) collection.getContext()
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);         

        int resId = 0;
        switch (position) {
        case 0:
            resId = R.layout.farleft;

            score = (TextView) findViewById(R.id.textView1);
            **EXCEPTION HERE**      score.setText("TEST");

            break;
        case 1:
            resId = R.layout.left;
            break;
        case 2:
            resId = R.layout.middle;
            break;
        case 3:
            resId = R.layout.right;
            break;
        case 4:
            resId = R.layout.farright;
            break;
        }

        View view = inflater.inflate(resId, null);
        view.setTag(position);

        view.setOnClickListener(new OnClickListener() {
            public void onClick(View view) {

                int position = (Integer) view.getTag();
                Log.v("Log_tag", "Here image is clicked" + position);

                if(position == 0){
                    Intent intent = new Intent(LogoQuizActivity.this,
                            LevelOne.class);
                    startActivity(intent);

                }

                if(position == 1){
                    Intent intent = new Intent(getBaseContext(),
                            LevelTwo.class);
                    startActivity(intent);
                }

                if(position == 2){
                    Intent intent = new Intent(getBaseContext(),
                            LevelThree.class);
                    startActivity(intent);
                }

                if(position == 3){
                    Intent intent = new Intent(getBaseContext(),
                            LevelFour.class);
                    startActivity(intent);
                }

                if(position == 4){
                    Intent intent = new Intent(getBaseContext(),
                            LevelFive.class);
                    startActivity(intent);
                }
            }
        });


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

        return view;


    }

解决方案

Use this

View view = (View) inflater.inflate(R.layout.your_layout, null);

And find the text view such as

score = (TextView) view.findViewById(R.id.textView1);
score.setText("TEST");

这篇关于无法设置文本ViewPager的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆