Android: Change text within ViewPager

后端 未结 2 1016
生来不讨喜
生来不讨喜 2021-02-11 05:30

Background

I\'m writing an app that uses the ViewPager and that\'s working nicely. I need to be able to target one of the layouts (xml file) and update

相关标签:
2条回答
  • 2021-02-11 06:00

    Well I don't garantee that this works but I had a similar problem with ViewPager using compatibility pack that I solved using this:

    In your view at the instatiateItem function do a setTag with your resId:

    view.setTag(resId);
    

    Then when you need to change your "city" do:

    View baseLayout = myPager.findViewWithTag(R.layout.forecast);
    TextView city = (TextView) baseLayout.findViewById(R.id.city_id);
    

    Where R.id.city_id is the id of your TextView.

    0 讨论(0)
  • 2021-02-11 06:08

    As a small addition to the above suggestion:

    1. When the tag was a String, for some weird reason it never assigned the tag to the View and it always returned null for findViewWithTag. Using the layout id worked though.

    2. Make sure you retrieve the views outside the onCreate(), preferably in the method where u intend to change the text for the text views. Trying to access them in onCreate returns null. My previous understanding was that, as soon as you call the MyPageAdapter, it will call the instantiateItem and so one should be able to find the views soon after that. But that isnt the case.

    I just burned a whole day the above 2 issues, since it wasnt really mentioned anywhere. Hope it helps people in the future.

    0 讨论(0)
提交回复
热议问题