android - 无法在 ViewPager 中设置文本

标签 android adapter android-viewpager settext

我的 ViewPager 工作正常,但我现在试图在我的 ViewPager 中的图像顶部添加一个 TexView,因此文本被“附加”到寻呼机。
我可以很好地定义 TexView,但是当我尝试 setText() 时,它会在此行返回 NullPointerException:
score.setText("TEST");

这是我的适配器的代码:

  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;


    }

最佳答案

使用这个

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

并找到 TextView 如

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

关于android - 无法在 ViewPager 中设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10451091/

相关文章:

安卓模拟器 : missing right panel

android - 有没有适合Android Market开发者的应用自动上传软件?

java - 改造中缓存的非静态和静态问题

java - 如何使用 Picasso 库正确实现带有图像的自定义 ListView ?

android - 如何在 viewpager 中添加捏缩放 textview?

android - ListFragment onListItemClick 不工作

android - 如何去除android viewpager开头和结尾的多余填充?

android - Firebase 多语言支持 : Is possible?

android - RecyclerView 的 holder.getAdapterPosition() 返回 -1。导致 ArrayIndexOutOfBoundsException

Android - notifyDataSetChanged() 不适用于自定义适配器?