Domanda

Ho risolto la domanda con il problema di OnClickListsner con ViewPager, ma ora ho notato che dipende da tutti gli elementi nei file di layout XML.

Ho implementato un mirino con quel tutorial: Tutsplus

Ora ho il problema, che tutti gli oggetti che ho definito in XML sono istanziati corretti (non null in modalità Debuggin dopo FindViewById ecc.) Ma non posso refere. Per capirlo meglio qui il mio 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;
    }


}

E qui la mia implementazione dell'adattatore e un po 'di codice di esempio:

 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); Pulsante push = (pulsante) 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
});

Né il pulsante né il filatore stanno facendo nulla. Sono entrambi corretti istanziati, ma non riesco a fare clic sul buton né si riempie lo spinner con l'array di filatori.

Nella modalità Debu ho alzato lo sguardo, che entrambi vengano istanziati, SpinnerItemary (SI) ottiene i suoi valori e così via.

A proposito, tutte le cose hanno funzionato prima di implementare il mirino e i pulsanti funzionano anche quando si imposta un Android: onClick in XML e quindi definire il metodo nel codice ma questo non funzionerà per lo spinner, quindi penso che debba doverlo Sii qualcosa di sbagliato con il metodo istanziato o qualcosa di simile.

Qualcuno qui conosce il problema? Sarebbe troppo bello se qualcuno potesse aiutare. Il tuo flo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top