Le lancement d'un Dialogue Fragment sur le bouton cliquez sur à partir d'une coutume adaptateur de base>getView [IMG INCLUS]

Bien, j'ai donc une liste(qui est aussi un fragment de dialogue) qui affiche les utilisateurs des amis, et chaque élément de la liste dispose d'un bouton(étiqueté amis dans l'image) et lorsque les utilisateurs cliquent sur le bouton id aiment afficher un autre fragment de la boîte de dialogue qui affiche toutes les options pour interagir avec l'utilisateur(demande d'ami, bloc, envoyer un message privé, ect...) le problème est que ce bouton et son onClick écoute sont actuellement mis en œuvre via primordial mon listview adaptateurs méthode getView et de créer un fragmentDialog nécessite l'accès à des fragment de manager. est-il un moyen de faire ce travail?

EDIT: je ne peux pas afficher le code réel du projet , mais j'ai attaché une procédure simplifiée de l'adaptateur de base de w. onClickListener qui devrait rendre clair ce que im essayant de faire . Je ne peux pas accéder à la fragmentManager à partir d'une base de l'adaptateur de la classe pour faire le fragment de dialogue possible

LazyAdapter.java
package com.example.androidhive;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class LazyAdapter extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
public LazyAdapter(Activity a, ArrayList<HashMap<String, String>> d) {
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.list_row, null);
Button requestBtn = (Button)vi.findViewById(R.id.title); //title
HashMap<String, String> song = new HashMap<String, String>();
song = data.get(position);
//Setting all values in listview
title.setText(song.get(CustomizedListView.KEY_TITLE));
artist.setText(song.get(CustomizedListView.KEY_ARTIST));
duration.setText(song.get(CustomizedListView.KEY_DURATION));
imageLoader.DisplayImage(song.get(CustomizedListView.KEY_THUMB_URL), thumb_image);
requestBtn.setOnClickListener(new myOnClickListener(position));
return vi;
}
public class myOnClickListener implements OnClickListener{
private int position;
private String clicked_uid;
public myOnClickListener(int position){
this.position=position;
}
@Override
public void onClick(View v) {
//THIS IS WHERE IM TRYING TO PUT THE FRAGMENT DIALOG
FragmentManager fm = TabHostFragmentActivity.this.getSupportFragmentManager();
FriendsFamiliarsDialog friendsDialog = new FriendsFamiliarsDialog().newInstance(TabHostFragmentActivity.profile_uid,"friends");
friendsDialog.show(fm, "friendsdialog");
}
}
}

Le lancement d'un Dialogue Fragment sur le bouton cliquez sur à partir d'une coutume adaptateur de base>getView [IMG INCLUS]

  • Pouvez-vous poster du code
  • Poste votre carte code de classe.
  • Le lancement de DialogFragments dans un DialogFragment sons en désordre. Au lieu d'utiliser DialogFragments, utilisez la boîte de dialogue sur le thème de Activitys.
  • Ajout d'une version simplifiée de mon adaptateur de base, s'il vous plaît excuser si cela ne marche pas à compiler. J'ai couper et coller un adaptateur de base à partir de la documentation avec un onClickListener pour obtenir mon point de vue ,mais ce n'est pas mon code.
  • serait-il possible de remplacer ma méthode getView à partir du fragment/activité de l'appeler?
InformationsquelleAutor ChuckKelly | 2013-08-26