无法设置文本ViewPager [英] Cannot set text in ViewPager
本文介绍了无法设置文本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屋!
查看全文