Dans l'un de mes projets, j'utilise 2 fragments.Un fragment affiche une liste d'éléments.Alors je veux quand le sujet sera sélectionné dans le premier fragment, les détails doivent être changés dans un autre fragment.Data je suis capable de passer d'un fragment à l'autre mais la vue ne change pas.Dans quelle méthode je devrais implémenter la vue du deuxième fragment afin qu'il puisse changer en conséquence. S'il vous plaît donnez-moi un bon tutoriel ou un exemple pour ceux-ci.Passage de données d'un fragment au fragment suivant dans android
Ici, je dois développer un exemple android, je dois exécuter l'application signifie nom de catégorie affiché bien sur la liste horizontale de mon premier fragment.J'ai à cliquer sur une catégorie signifie comment puis-je passer le nom de la catégorie sur le second fragment. S'il vous plaît donnez-moi une solution à ce problème.
J'ai utilisé ci-dessous le code:
public class Home extends FragmentActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
1er code fragment:
public class MainActivity extends Fragment {
static final String URL = "http://dev2.mercuryminds.com/webservices/new_feed_articls.xml";
static String KEY_CATEGORY = "Categories";
static final String KEY_TITLE = "Category";
LazyAdapter adapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_main,
container, false);
final ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML from URL
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_TITLE);
// looping through all song nodes <song>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String> ();
Element e = (Element) nl.item(i);
map.put(KEY_TITLE,((Element)nl.item(i)).getAttribute("name"));
// map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE));
songsList.add(map);
}
HorizontalListView list = (HorizontalListView) view.findViewById(R.id.listView1);
adapter = new LazyAdapter(getActivity(), songsList);
list.setAdapter(adapter);
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
HashMap<String, String> map = songsList.get(position);
Intent in = new Intent();
in.setClass(getActivity(), SubCate.class);
// in.putExtra(KEY_TITLE, map.get(KEY_TITLE));
startActivity(in);
}
});
return view;
}}
Comment afficher le nom de la catégorie 2 sur l'activité ... merci de me donner le code pour ces ...
EDIT:
Salut je l'ai changé c ode comme sur ma première activité:
HashMap<String, String> map = songsList.get(position);
SubCate frag = (SubCate) getFragmentManager().findFragmentById(R.id.frag_2);
if (frag != null && frag.isInLayout()) {
frag.setText(getCapt(map));
}
}
private String getCapt(HashMap<String, String> map) {
if (map.containsValue("notchbolly")) {
return "dadad";
}
return "veeman";
sur l'activité suivante:
public void setText(String item) {
TextView view = (TextView) getView().findViewById(R.id.cate);
view.setText(item);
}
son bien woked en mentionner directement le nom si (map.containsValue ("notchbolly")) mais je dois. afficher le nom sans mentionner directement le nom.Si je dois cliquer sur une catégorie signifie que le nom de la catégorie est affiché sur le prochain fragment.Comment puis-je faire ?????