Pregunta

Resolví la pregunta con el problema de OnClickListsner con ViewPager, pero ahora noté que depende de todos los elementos en los archivos de diseño XML.

Implementé un ViewPager con ese tutorial: tutsplus

Ahora tengo el problema de que todos los objetos que definí en XML se instancian correctamente (no nulo en modo de Debging después de FindViewByid, etc.) pero no puedo reformularles. Para entenderlo mejor aquí mi PagerAdapter:

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 = R.layout.settings_view;

            break;
        case 1:
            resId = R.layout.push_view;
            break;
        case 2:
            resId = R.layout.listen_view;
            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;
    }
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }


}

Y aquí mi implementación del adaptador y un poco de código de muestra:

 ViewPager myPager = (ViewPager)findViewById(R.id.pager);
        adapter = new MyPagerAdapter();
       myPager.setAdapter(adapter);
       myPager.setCurrentItem(0);

Spinner spinner = (spinner) listenView.FindViewById (r.id.dashboard_chooser); Botón push = (botón) PushView.FindViewById (r.id.pushButton);

ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(getApplicationContext(),android.R.layout.simple_spinner_item, si);


            spinner.setAdapter(spinnerArrayAdapter);



push.setOnClickListener(new OnClickListener() {


            public void onClick(View v) {

//do something
});

Ni el botón ni el spinner están haciendo nada. Ambos están instanciados correctamente, pero no puedo hacer clic en Buton ni se llena el spinner con la matriz de SpinnerItems.

En el modo Debu, busqué, que ambos son instanciados, el spinneritemArray (Si) obtiene sus valores, etc.

Por cierto, todas las cosas funcionaron antes de implementar el ViewPager, y los botones también funcionan al configurar un Android: OnClick en XML y luego definir el método en código, pero eso no funcionará para el spinner, así que creo que debe Sea algo mal con el método InstanciateItem o algo similar.

¿Alguien aquí sabe el problema? Sería demasiado genial si alguien pudiera ayudar. Tuyo Flo

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top