Appel fragment d'une liste de carte
Je suis à l'aide de glissement menu/tiroir motif de mon application. Donc l'activité principale dispose d'un leftView qui est un ListFragment nommé topicsFragment() qui charge un ensemble de thème des éléments. Lorsqu'un objet/sujet est cliqué, il remplace le fragment sur l'écran principal par l'appel de la FeedsFragment(tag). FeedsFragment utilise arraylist adaptateur pour charger le flux rss qui a divers éléments cliquables dans chaque élément de la liste. Je veux récupérer une autre instance sur la feedsFragment(tag) lorsqu'un élément est cliqué à l'intérieur d'un élément de liste.
holder.contextView= (TextView) newsView.findViewById(R.id.arcHeader);
if (item.hasArc()) {
holder.contextView.setVisibility(View.VISIBLE);
String arc;
try {
arc=item.getarc();
holder.contextView.setText(arc);
holder.contextView.setOnClickListener(new View.OnClickListener() {
//currently it loads a class
@Override
public void onClick(View v) {
Intent i = new Intent(context, SomeClass.class);
i.putExtra("tag", arc);
context.startActivity(i);
}
});
} catch (JSONException e) {
e.printStackTrace();
}
} else {
holder.contextView.setVisibility(View.GONE);
}
Actuellement, il charge d'une nouvelle classe. Je veux définir un fragment, puis passer à l'activité principale de le remplacer avec de l'actuel point de vue, mais je ne peux pas utiliser getSupportFragmentManager() à l'intérieur d'une classe d'adaptateur, mais seulement dans un fragment ou un fragment de l'activité. Ce qui devrait être une alternative à balayage dans un fragment d'un adaptateur?
OriginalL'auteur zoya ali | 2013-02-09
Vous devez vous connecter pour publier un commentaire.
Ce que j'ai fait a été de créer cette méthode dans mon activité principale et simplement appelé à d'autres classes de changer le fragment:
OriginalL'auteur Justin Vartanian
Résolu en utilisant le contexte passé dans la liste de l'adaptateur:
Ici switchContent est la méthode définie dans votre activité principale pour la commutation/remplacement du fragment comme indiqué dans la réponse de Justin V.
et il est tout à fait bizarre
switchContent
etswitchFragment
. @Zoya devriez coller avec l'un d'entre eux, pas les deux.OriginalL'auteur zoya ali
Passer
getFragmentManager()
comme un paramètre dans le constructeur de votre carte et l'utiliser.OriginalL'auteur sidharthoswal
Utiliser un
Interface
pour connecter votre tiroir latéralListFragment
à l'activité principale. Par exemple:Comme
Fragments
doit avoir un constructeur vide, utiliser une méthode publique au sein de votreFragment
pour définir la fonction de rappel avant de remplir leFragmentTransaction
de l'ajouter à votre tiroir. À ce stade, tout ce qui reste est de prévenir votreFragment
qu'un clic a eu lieu. Ce que vous devez faire est d'attraper la réalité cliquez dans votreListFragment
directement plutôt que d'ajouter sur onClickListener à chaque affichage de votre carte.Utiliser le onListItemClick méthode pour ce faire. Vous obtiendrez la liste de la position qui a été cliqué et peut facilement obtenir cet élément de votre carte et obtenez sa valeur de balise à transmettre à votre activité de l'hôte.
OriginalL'auteur Rarw