Autore Topic: Problema apertura Fragment con ver. 5.1.1  (Letto 190 volte)

Offline newbie2016

  • Utente junior
  • **
  • Post: 79
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Cubot X9
  • Sistema operativo:
    Windows 7
Problema apertura Fragment con ver. 5.1.1
« il: 10 Agosto 2016, 22:32:05 CEST »
0
Faccio partire l'applicazione quando apro la schermata del profilo mi da il seguente errore:

Citazione
android.view.InflateException: Binary XML file line #41: Error inflating class Button

alla riga 41 c'è
Codice (Java): [Seleziona]
View rootView = inflater.inflate(R.layout.fragment_dati1, container, false);
Codice (Java): [Seleziona]
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_dati1, container, false);

        return rootView;
    }

Questo errore me lo da solo con la versione Android 5.1.1 API 22
che problema è? Come posso risolverlo?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Problema apertura Fragment con ver. 5.1.1
« Risposta #1 il: 11 Agosto 2016, 10:40:48 CEST »
0
Leggi bene l'errore:

android.view.InflateException: Binary XML file line #41: Error inflating class Button

L'errore è nel file di layout
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline newbie2016

  • Utente junior
  • **
  • Post: 79
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Cubot X9
  • Sistema operativo:
    Windows 7
Re:Problema apertura Fragment con ver. 5.1.1
« Risposta #2 il: 11 Agosto 2016, 11:24:43 CEST »
0
Ciao, si ho trovato il problema ed ho eliminato il Button

Codice (XML): [Seleziona]
<Button
               android:id="@+id/button1"
               android:layout_width="50dp"
               android:layout_height="50dp"
               android:layout_alignParentTop="true"
               android:layout_centerHorizontal="true"
               android:background="@android:drawable/ic_menu_edit"
               android:backgroundTint="@android:drawable/ic_menu_edit"
               android:layout_marginRight="30dp"
               android:layout_gravity="center|right"
               android:layout_marginTop="-40dp"
               android:drawableTint="@color/colorPrimary" />

Codice (Java): [Seleziona]
Button modifica = (Button) getActivity().findViewById(R.id.button1);
        modifica.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // put some code here that handles the click event.
                Intent intent = new Intent(getActivity(),ViewEmployee.class);
                intent.putExtra("txtViewEmail", email_view.getText().toString());
                startActivity(intent);
            }
        });

nel file Dati1Fragment.java è così:
Codice (Java): [Seleziona]
@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_dati1, container, false);

        return rootView;
    }


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


        String LOGIN = "Login";
        SharedPreferences pref = getActivity().getSharedPreferences(LOGIN, Context.MODE_PRIVATE);
        String email = pref.getString("email","ciao");
        new Mod2().execute(email);
Button modifica = (Button) getActivity().findViewById(R.id.button1);
        modifica.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                // put some code here that handles the click event.
                Intent intent = new Intent(getActivity(),ViewEmployee.class);
                intent.putExtra("txtViewEmail", email_view.getText().toString());
                startActivity(intent);
            }
        });
    }

        private class Mod2 extends AsyncTask<String, Integer, String> {
        protected String doInBackground(String... parametri) {
            String par = Arrays.toString(parametri);


..................................................................


}
ma come mai da problemi questo Button in un Fragment?
Grazie

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 580
  • Respect: +130
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Problema apertura Fragment con ver. 5.1.1
« Risposta #3 il: 11 Agosto 2016, 11:51:33 CEST »
0
Perché android:drawableTint è supportato solo dalle API 23 in poi, e android:backgroundTint è un colore, mentre tu hai specificato un'immagine.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.