Android: Ändern Sie den Text in ViewPager

Hintergrund

Ich schreibe eine App, die den ViewPager verwendet und die gut funktioniert. Ich muss in der Lage sein, auf eines der Layouts (XML-Datei) zuzugreifen und die darauf enthaltenen Text- und Bildansichten zu aktualisieren. Ich habe versucht, die Ansicht und das Targeting mit "v.findViewById" aufzublähen. Dies scheint die Lösung aus meiner Recherche zu sein, aber vielleicht platziere ich sie an der richtigen Stelle und muss sie mir besser erklären.

Mein Code (ohne zu zielen)

private ImageView circle;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    circle = (ImageView) findViewById(R.id.circles);

    MyPagerAdapter adapter = new MyPagerAdapter();
    ViewPager myPager = (ViewPager) findViewById(R.id.myViewPager);
    myPager.setAdapter(adapter);
    myPager.setCurrentItem(1);
    myPager.setOnPageChangeListener(new MyPageChangeListener()); 
}

private int focusedPage = 0;
private class MyPageChangeListener extends ViewPager.SimpleOnPageChangeListener {
    @Override
    public void onPageSelected(int position) {
        focusedPage = position;

        switch (focusedPage) {
            case 0: circle.setImageResource(R.drawable.circles1); break;
            case 1: circle.setImageResource(R.drawable.circles2); break;
            case 2: circle.setImageResource(R.drawable.circles3); break;
            case 3: circle.setImageResource(R.drawable.circles4); break;
        }
    }
}

private class MyPagerAdapter extends PagerAdapter {

    public int getCount() {
        return 4;
    }

    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.zip;
                break;
            case 1:
                resId = R.layout.forecast;
                break;
            case 2:
                resId = R.layout.settings;
                break;
            case 3:
                resId = R.layout.about;
                break;
        }

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

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

        return view;
    }

    @Override
    public void destroyItem(View arg0, int arg1, Object arg2) {
        ((ViewPager) arg0).removeView((View) arg2);
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        return arg0 == ((View) arg1);

    }

    @Override
    public Parcelable saveState() {
        return null;
    }
}

Zu Ihrer Information: Das ImageView "Cicle" ist ein Bild aus 4 Kreisen am unteren Rand des Bildschirms, das beim Seitenwechsel aktualisiert wird, um anzuzeigen, auf welchem ​​Bildschirm Sie sich befinden. gut funktioniert, wollte nur erklären.

TOR

Aktualisieren Sie eine Textansicht mit dem Namen "Stadt" im Layout "Vorhersage".

Vielen Dank im Voraus für jede Hilfe! Nach dieser kleinen Hürde sollte es leicht sein zu segeln.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage