Oi Henrique,
Vou falar exatamente o que o Rudson falou só sendo mais extenso :)
Pelo que eu entendi, você tem dois problemas: 1) passar um parâmetro para um fragment (um int no seu caso) e 2) avisar a activity que algo aconteceu no seu fragment. Vamos lá!
1) Para passar um parâmetro para um fragment, você não vai usar uma Intent e sim um factory method (ou método construtor como eu gosto de chamar) que nada mais é do que um método estático (ou seja, de classe) que cria e retorna uma instância do Fragment. No momento da criação você passa os parâmetros recebidos nesse método para um objeto Bundle e atribui ao seu Fragment utilizando o método setArguments. Em seguida, em qualquer lugar do seu Fragment você pode usar o método getArguments() para obter o objeto Bundle e enfim os seu parâmetros.
Dá uma olhada na classe DetailFrament desse link aqui. Acho que é exatamente o que você quer.
2) Em relação a notificar a activity que algo ocorreu você pode implementar um listener/observer/callback no seu Fragment.
class SeuFragment extends DialogFragment {
CliqueiNoBotaoListener mListener;
// cria o setListener pra setar o atributo acima...
// No método OnClick do botão do dialog, você coloca...
if (mListener != null) mListener.botaoFoiClicado(seuObjetoSeQuiser);
public interface CliqueiNoBotaoListener {
void botaoFoiClicado(SuaClasse objetoParaPassarPraActivity); // esse parâmetro é opcional... pode tirar se quiser
}
}
Aí na sua activity...
SeuDialogFragment f = SeuDialogFragment.newInstance(seuIntDoItemAnterior);
f.setListener(new CliqueiNoBotaoListener(){
void botaoFoiClicado(SuaClasse objetoParaPassarPraActivity){
// seja feliz :)
}
});
Qualquer dúvida me fala ;)
4br4ç05,
nglauber