Layout attività: class di frammento: vs android: attributi di nome

Ho letto la documentazione relativa a frammenti nella Guida per gli sviluppatori di Android e ho visto che talvolta specificano la class per l'istanza con l'attributo di etichetta di frammento android: name e qualche volta utilizzano l'attributo class :

<fragment android:name="com.example.news.ArticleReaderFragment" android:id="@+id/viewer" android:layout_weight="2" android:layout_width="0dp" android:layout_height="match_parent" /> <fragment class="com.example.android.apis.app.FragmentLayout$TitlesFragment" android:id="@+id/titles" android:layout_weight="1" android:layout_width="0px" android:layout_height="match_parent" /> 

Sono android: nome e class: intercambiabili? Se utilizzo la function di autocompletamento in Eclipse, entrambi presentano la stessa tipologia di documento (cioè l'attributo fornisce l'istanza del nome della class). Forse è necessario utilizzare il secondo quando la class da istanziare ha un nome diverso dal nome del file java, come TitlesFragment che si trova nel file FragmentLayout.java ? Oppure posso utilizzare il pacchetto di syntax package.fileDOTjava $ Class anche con l' android: nome attributo?

  • AlarmManager smette di funzionare in Android 4.4.2 (utilizzando SetExact ())
  • Applicazione di Android Collegamento al server Node.js utilizzando Socket.io
  • Problema di ShareDialog NullPointerException di Android SDK v4.0.0 di Facebook
  • Come posso aggiungere un terzo button a una window di dialogo Android Alert?
  • com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
  • openSSL usando i problemi di Android di Android
  • Vorrei avere una documentazione per i tag XML e gli attributi come per le classi Java Android (ho chiesto su di esso in un'altra domanda ).

  • API di impronte digitali per il telefono Android
  • Animazione quando si cambia la vista di text
  • Come posso correttamente lanciare l'azione ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS?
  • come aprire la pagina html locale nel browser
  • Problema di compatibilità di Nexus 7
  • La piattaforma di cordova aggiunge che Android non funziona mentre elenca i target di Android
  • 3 Solutions collect form web for “Layout attività: class di frammento: vs android: attributi di nome”

    Come sorgente Activity.onCreateView dice:

     String fname = attrs.getAttributeValue(null, "class"); TypedArray a = context.obtainStyledAttributes(attrs, com.android.internal.R.styleable.Fragment); if (fname == null) { fname = a.getString(com.android.internal.R.styleable.Fragment_name); } 

    Questo sembra che il programma in primo luogo sembra l'attributo "class". E su guasto, sembra l'attributo "nome". Per quanto è vero utilizzando "class" se più efficiente.

    Sono android: nome e class: intercambiabili?

    Presumibilmente, sì. Ho usato solo la class e questo sembra essere quello che utilizza la maggior parte degli esempi di Google, ma vedo where usano android:name in alcuni campioni. Purtroppo, non esiste una documentazione formale e completa per <fragment> .

    Spiacente che tutti gli esperti sono qui, forse non posso essere sbagliato, ma secondo la mia conoscenza android: l' attributo nome del frammento viene usato per trovare il frammento quando utilizziamo il metodo getFragmentByTag () della class fragmentManager. anche android: l' attributo di class viene utilizzato per trovare la class di frammento che generalmente includiamo per il frammento statico .

    Spero che questo aiuterà .. grazie

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.