1
我无法在ViewPager中设置TextView的setText()。 这是我的主要活动课。我想更新由ViewPager制作的一系列布局中的textView。android更改ViewPager中的textView
public class MainActivity extends Activity {
ViewPager myPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyPagerAdapter adapter = new MyPagerAdapter();
myPager = (ViewPager) findViewById(R.id.myfivepanelpager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(3);
}
@Override
protected void onResume() {
super.onResume();
// this code causes the app to crash, because baseLayout is null
View baseLayout = myPager.findViewWithTag(R.layout.hoteladdress);
//TextView bubu = (TextView) baseLayout.findViewById(R.id.bubu);
//bubu.setText("TEST");
}
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 0:
resId = showHotelContact();
break;
case 1:
resId = showHotelAddress();
break;
case 2:
resId = showHotelMap();
break;
}
View view = (View) inflater.inflate(resId, null);
view.setTag(resId);
((ViewPager) collection).addView(view, 0);
return view;
}
}
public int showHotelMap()
{
int resId;
resId = R.layout.hotelmap;
return resId;
}
public int showHotelAddress()
{
int resId;
resId = R.layout.hoteladdress;
return resId;
}
public int showHotelContact()
{
int resId;
resId = R.layout.hotelcontact;
return resId;
}
}
请在onResume方法中找到我的注释行来解释问题。
谢谢你,但,渣油没有定义,并且getViewAtPosition()没有针对ViewPager对象 – avafab
我不好定义,我说,这是未经测试的:)现在尝试 – cYrixmorten
不工作,你为什么不考发布之前? – avafab