Deux questions à propos de Maître/Détail des Flux de Modèle de
Je viens de prendre un coup d'oeil au Maître/Détail des Flux de modèle et je ne peux pas comprendre 2 choses.
1) Pourquoi faut-il de la version d'Android 11 lorsque le code qu'il génère semble utiliser le Fragment de prise en charge de compatibilité? En particulier, pourquoi ne pouvez-vous pas de générer des modèles de ruissellement Android version 8? (par exemple, cette importation)
import android.support.v4.app.FragmentActivity;
2) Comment l'Activité principale de savoir si pour afficher les détails d'une Activité nouvelle ou dans le volet de détails, si il est assez grand? Il semble le faire par l'intermédiaire de ce code:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_item_list);
if (findViewById(R.id.item_detail_container) != null) {
mTwoPane = true;
((ItemListFragment) getSupportFragmentManager()
.findFragmentById(R.id.item_list))
.setActivateOnItemClick(true);
}
}
setContentView(R.layout.activity_item_list);
définit la mise en page à un ListFragment
qui dicte sa propre carte, mais je ne vois pas comment findViewById(R.id.item_detail_container) != null
retourner un jour qu'il ne semble jamais être ouvert/gonflé.
Toute indices?
- Pour être en mesure d'appeler fragment de l'api, votre objectif devrait être de l'api 11.
- mais ils ne sont pas des Fragments en tant que tel. Leur importation est faite via android.de soutien.v4.app.ListFragment; plutôt que de android.app.Fragment de Sorte qu'ils sont de compatibilité des Fragments qui doivent être accessibles à 1,6
- Je suppose que c'est fait dans le but de permettre une application qui s'exécute sur les deux api4 et api11. Avec cible api 11 vous êtes toujours en mesure d'exécuter l'application sur api4
- Je m'en rends compte mais je veux lancer l'application sur Android 2.2 appareil. Peu importe, ma principale préoccupation est la question 2.
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de recherche, la réponse est de ce fait dans
values-large/refs.xml
Il redirige la demande pour la normale de la mise en page à une plus grande mise en page (les deux-volet version) où
R.id.item_detail_container
est défini.C'est assez obscure. Je ne sais pas pourquoi ils n'ont pas juste d'appeler la grande mise en page de la même que la normale, mise en page, mais alors xml différents.
Voici ce qui a fonctionné pour moi.
1) Ajouter ActionBarSherlock pour le projet: Project -> Propriétés -> Android -> Sélectionnez ActionBarSherlock et appuyez sur le bouton "Ajouter". Si vous n'avez pas d'ABS, eh bien, vous avez besoin pour obtenir à partir de http://actionbarsherlock.com/ avant de continuer.
2) "AndroidManifest.xml": Set minSdkVersion à 10 (pain d'épice). Je pense qu'on peut aller encore plus bas que ça.
3) "activity_item_list.xml": il suffit de supprimer "list_content", en raison de l'Éclipse garde de se plaindre vous avez besoin de Nid d'abeilles ou plus tard.
4) "activity_item_twopane.xml": Supprimer Nid d'abeille-ou-tard lignes.
5) ItemListActivity.java: Utilisation SherlockFragmentActivity.
6) ItemListFragment.java: Modifier les paramètres pour setListAdapter().
7) "ItemDetailActivity.java": l'Utilisation SherlockFragmentActivity et getSupportActionBar().
Après avoir effectué les modifications, l'application travaillé dans le pain d'épices, ICS et Jelly Bean.
__
sol
avec respect à votre première question:
vous avez besoin de changer dans la classe
ItemListFragment
:ce:
pour cela:
Et le commentaire de la
ItemDetailActivity
cette ligne:ActionBarActivity
et l'évolution degetSupportActionBar().setDisplayHomeAsUpEnabled(true);
au lieu de la mettre en commentaire.je pense que le Maître/Détail des Flux de modèle de l'api de niveau 11, car il utilise la Barre d'Action. Je vais essayer d'utiliser ce modèle avec ActionBarSherlcock et voir si cela fonctionne de pentecôte android 2.2 ou 2.3.
Concernant la première question, une raison qu'il nécessite de la V11 est que c'est à l'aide de list_content, et qui n'est pas inclus dans la bibliothèque de compatibilité. Un travail autour de qui est ici.
La technique utilisée dans la deuxième partie de votre question est un exemple de Mise En Page D'Alias.