Pode um ListView conter fragmentos

Como em, os ELEMENTS de um ListView podem ser Fragmentos. Eu sei que você pode atribuir um TextView XML a um ListView para alterar a aparência, mas você pode adicionar fragmentos em um ListView.

Por exemplo: eu tenho um fragmento. O XML do Fragment contém um ImageView, alguns TextViews de estilo grande e um TextView de estilo pequeno. O código da classe Fragment recebe um Bundle e, em seguida, com base no conteúdo, ele preenche os TextViews e o ImageView de acordo. Tanto o Fragment XML quanto o Fragment funcionam sem problemas (eu posso exibir um fragmento individual muito bem). Eu tenho um FragmentActivity no qual eu quero exibir a lista de fragmentos acima mencionada. Aqui está o código que estou usando para tentar preencher o ListView dentro da visão do FragmentActivity:

    ArrayList<Fragment> fragList = new ArrayList<Fragment>();
    Fragment fragment = Fragment.instantiate(this, TileItem.class.getName());
    Bundle bundle = new Bundle();
    bundle.putInt("key", 0);
    fragment.setArguments(bundle);
    fragList.add(fragment);

    ArrayAdapter<Fragment> adapter = new ArrayAdapter<Fragment>(this, R.layout.tile_item, fragList);
    listItems.setAdapter(adapter);

Aqui está o meu modo de pensar sobre isso. Eu faço uma ArrayList of Fragments para armazenar todas as minhas views instanciadas. Então, eu crio um Fragment, cria um Bundle, adiciono dados ao Bundle (para que o Fragment possa empacotar os dados em suas Views corretamente), adicione o Bundle ao Fragment, e finalmente adicione o Fragment ao ArrayList. Depois disso, faço um ArrayAdapter, adiciono o layout do elemento que desejo usar e a lista de fragmentos que criei; em seguida, defina o ListView para ler do meu adaptador.

Qualquer pessoa que execute este código provavelmente obterá o NPE @ instanciando o ArrayAdapter. O que da? Isso é possível? Antes que eu continue me atrapalhando, alguém pode me dizer se estou perdendo meu tempo? Existe uma maneira melhor? Eu estive pensando em usar um ScrollView, mas muito da funcionalidade de um ListView precisaria ser reimplementado e eu odeio ódio-ódio reinventando a roda quando não é necessário.

Obrigado a todos que estiverem lendo, e especialmente obrigado por seus pensamentos, se você decidir deixá-los. Eu tentei pesquisar em torno de uma resposta estabelecida para isso, mas tudo o que parece encontrar são perguntas / páginas da Web sobre o uso de um ListView dentro de um fragmento; não usando fragmentos como os elementos de um ListView

Edit: Tomei as sugestões abaixo e comecei a investigar mais. Do jeito que as coisas aparecem, eu deveria ser capaz de usar um adaptador personalizado que infle fragmentos ao invés de simplesmente construir fora do XML (por falta de uma maneira melhor de descrever o processo) No entanto, minha implementação atual está lançando um NPE ao tentar definir o adaptador.

Aqui está o meu código de adaptador personalizado (abreviado por brevidade):

public class AdapterItem extends ArrayAdapter<Fragment> {

Context c;
List<Fragment> f;

public AdapterItem(Context c, List<Fragment> f) {
    super(c, R.layout.tile_item, f);
    this.c = c;
    this.f = f;
}

@Override
public View getView(int pos, View v, ViewGroup vg) {
    LayoutInflater i = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    return i.inflate(R.layout.tile_item, vg, false);
}

}

e aqui está como eu estou implementando:

ArrayList<Fragment> fragList = new ArrayList<Fragment>();
    Fragment fragment = Fragment.instantiate(this, TileItem.class.getName());
    Bundle bundle = new Bundle();
    bundle.putInt("key", 0);
    fragment.setArguments(bundle);
    fragList.add(fragment);

    AdapterItem adapter = new AdapterItem(this, fragList);
    adapter.add(fragment);
    listItems.setAdapter(adapter);

Então tem sido alguns dias e eu tenho certeza que esta discussão foi enterrada. No entanto, eu pensei em adicionar uma última atualização apenas no caso de alguém querer tentar isso e uma pesquisa no google os traz aqui. Então, na minha implementação, estou recebendo um NPE quando o ListView recebe o adaptador. Não é preciso um cirurgião-foguete para descobrir que é certamente o adaptador, e não o ListView, que gera o erro. Para a vida de mim eu não consigo descobrir porque ...

De qualquer forma, acho que tenho alguma ideia. Primeiro, uma pequena história: Há algum tempo atrás eu estava tentando fazer FragmentTransactions dentro de um FragmentDialog. Toda vez que eu tentava fazer isso, eu pegava um NPE. Eventualmente, através de muita pesquisa, descobri que o motivo estava relacionado ao modo como os Fragmentos são instanciados. Quando um fragmento é chamado, ele precisa do contexto do pai. Como o pai de um Dialog é a Activity que o iniciou, o próprio Dialog não atendeu aos critérios necessários. Acredito que ao tentar adicionar fragmentos a um ListView, esse também é o caso. Como o ListView não atende ao acordo de instanciar um Fragment, ele lança o NPE e assim, me deixa pendurado e voltando às convenções. Eu realmente esperava poder fazer isso. Usar fragmentos em vez de XML simples facilitaria muito a organização / pesquisa na lista. Oh bem ... acho que não pode ser feito no caso de alguém estar se perguntando.

questionAnswers(3)

yourAnswerToTheQuestion