Autore Topic: Errore Fragment  (Letto 533 volte)

Offline x69asterix2

  • Utente junior
  • **
  • Post: 127
  • Respect: +1
    • Mostra profilo
Errore Fragment
« il: 29 Maggio 2015, 14:49:57 CEST »
0
Non riesco a capacitarmi del perchè se chiamo questo codice da un'altra activity
funziona correttamente, ma se da questa activity chiamo questo codice mi va in errore
Codice (Java): [Seleziona]
E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalArgumentException: No view found for id 0x7f0c00a6 (xx.xx/viewPager) for fragment FirstFragment{42acba50 #0 id=0x7f0c00a6 android:switcher:2131493030:0}
Codice: [Seleziona]
@Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_0);

        adb1 = new AlertDialog.Builder(this);
        adb1.setIcon(R.drawable.smiley186);
        adb1.setCancelable(false);


        final LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE);
        view1 = inflater.inflate(R.layout.popupdialog, null);
        final ViewPager pager =(ViewPager)view1.findViewById(R.id.viewPager);
        //pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())) ;

    ....

   adb1.setView(view1);
        alert = adb1.create();
        alert.setInverseBackgroundForced(true);
        alert.show();
}

  public class MyPagerAdapter extends FragmentPagerAdapter {

        public MyPagerAdapter(FragmentManager fm) {
            super(fm);
        }
        @Override
        public Fragment getItem(int pos) {
            switch(pos) {
                case 0: return FirstFragment.newInstance("FirstFragment, Instance 1");
                case 1: return SecondFragment.newInstance("SecondFragment, Instance 2");
                case 2: return ThirdFragment.newInstance("ThirdFragment, Instance 3");
                case 3: return FourFragment.newInstance("FourFragment, Instance 4");
                case 4: return FiveFragment.newInstance("FiveFragment, Instance 5");
                case 5: return SixFragment.newInstance("SixFragment, Instance 6");
                default: return FirstFragment.newInstance("FirstFragment, Default");
            }

        }

        @Override
        public int getCount() {
            return 6;
        }
    }

« Ultima modifica: 29 Maggio 2015, 14:56:40 CEST da x69asterix2 »

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Errore Fragment
« Risposta #1 il: 29 Maggio 2015, 14:57:07 CEST »
0

Non riesco a capacitarmi del perchè se chiamo questo codice da un'altra activity
funziona correttamente
, ma se da questa activity chiamo questo codice mi va in errore

Non ho capito sinceramente...

Citazione
Codice (Java): [Seleziona]
E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.IllegalArgumentException: No view found for id 0x7f0c00a6 (xx.xx/viewPager) for fragment FirstFragment{42acba50 #0 id=0x7f0c00a6 android:switcher:2131493030:0}

No view found, dovrebbe già dirti qualcosa....

Offline x69asterix2

  • Utente junior
  • **
  • Post: 127
  • Respect: +1
    • Mostra profilo
Re:Errore Fragment
« Risposta #2 il: 29 Maggio 2015, 14:58:31 CEST »
0
e...
il problema sta qui!
perchè se eseguo lo stesso codice da un'altra attività dello stesso progetto
questo funziona corretamente!
e questo il Fragment
Codice: [Seleziona]
public class FirstFragment extends Fragment {


    @Override
    public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.first_frag, container, false);
        GridView gd1 = (GridView) v.findViewById(R.id.gridView1);
        gd1.setAdapter(new ImageAdapter(getActivity().getBaseContext()));
        gd1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
               
               ....

            }
        });

       return v;
    }

    public static FirstFragment newInstance(String text) {

        FirstFragment f = new FirstFragment();
        Bundle b = new Bundle();
        b.putString("msg", text);
        f.setArguments(b);
        return f;
    }
« Ultima modifica: 29 Maggio 2015, 15:10:30 CEST da x69asterix2 »

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Errore Fragment
« Risposta #3 il: 29 Maggio 2015, 15:07:38 CEST »
0
Apparte che ogni activity ha un setContentView(); diverso...

Codice (Java): [Seleziona]
java.lang.IllegalArgumentException: No view found for id 0x7f0c00a6 (xx.xx/viewPager) for fragment [b]FirstFragment[/b]
dovrebbe essere generato da :
Codice (Java): [Seleziona]
//pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())) ;
Che però è commentato :/ ??

Offline x69asterix2

  • Utente junior
  • **
  • Post: 127
  • Respect: +1
    • Mostra profilo
Re:Errore Fragment
« Risposta #4 il: 29 Maggio 2015, 15:11:17 CEST »
0
Apparte che ogni activity ha un setContentView(); diverso...

Codice (Java): [Seleziona]
java.lang.IllegalArgumentException: No view found for id 0x7f0c00a6 (xx.xx/viewPager) for fragment [b]FirstFragment[/b]
dovrebbe essere generato da :
Codice (Java): [Seleziona]
//pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())) ;
Che però è commentato :/ ??
è commentato perchè se lo eseguo si scatena l'errore

Offline LinkOut

  • Utente normale
  • ***
  • Post: 272
  • Respect: +38
    • Mostra profilo
  • Dispositivo Android:
    Xiaomi Mi5
Re:Errore Fragment
« Risposta #5 il: 29 Maggio 2015, 15:19:21 CEST »
0
La tua activity estende FragmentActivity?

Offline x69asterix2

  • Utente junior
  • **
  • Post: 127
  • Respect: +1
    • Mostra profilo
Re:Errore Fragment
« Risposta #6 il: 29 Maggio 2015, 15:32:42 CEST »
0
si
e questo è xml

Codice (XML): [Seleziona]
        <android.support.v4.view.ViewPager
           android:id="@+id/viewPager"
           android:layout_width="match_parent"
           android:layout_height="250dp"
           android:layout_gravity="top"
           android:background="@android:color/black" />
« Ultima modifica: 29 Maggio 2015, 15:40:28 CEST da x69asterix2 »