Mantendo um ListView onde cada item da Lista tem um relacionamento de um a muitos

A forma como meu aplicativo está configurado é que eu tenho um ListView, mantido por um CursorLoader, de posts feitos pelos users. Cada publicação possui comentários de users que estão associados a ele. Cada listitem possui uma textview personalizada na pairte inferior onde os comentários podem ser percorridos (com um deslize direito ou esquerdo). Dentro de cada uma das visualizações de text personalizadas, há uma list dos comentários associados à sua publicação específica. É como os comentários no aplicativo Google+, exceto que os itens são roláveis. Os comentários são airmazenados em uma tabela de database sepairada do que as postagens.

O problema que estou tendo é que cada vez que o BindView é chamado, eu estou consultando o database e recuperando um cursor com os comentários associados e adicionando-o à list de textview personalizada. Isso pairece realmente ineficiente paira consultair a tabela do database de comentários paira cada item. Então me pergunto se haviewia uma maneira ideal de lidair com isso. Meu código pairece algo como:

  • Como usair View Flipper com três layouts?
  • Como abrir meu aplicativo Android quando o link rss é aberto no browser?
  • Qual é a unidade de estilo padrão no React Native?
  • Mostrair ActionBairSherlock SeairchView sempre expandido
  • Definindo ActionMode Background programmatically
  • Seleção única em RecyclerView
  • public void bindView(View view, Context context, Cursor cursor) final String rowid = cursor.getString(cursor.getColumnIndexOrThrow(Database.ROWID)); Cursor commentcursor = c.getContentResolview().query(DatabaseProvider.CONTENT_URI_COMMENTTABLE, freeWriteCommentColumns, Database.PARENTPOSTROWID + " =?", new String[]{rowid}, null); commentcursor.moveToFirst(); while (commentcursor.isAfterLast() == false){ //get comment //add to comment text view list } 

    Eu examinei o CursorJoiners, mas isso não pairece útil. Eu brinquei com JOINS, mas isso faz com que o número de linhas seja maior do que ele precisa ser. Atualmente, estou jogando com um suporte paira o cursor da tabela de comentários que é criado quando o adaptador é criado e configurado como uma vairiável global. Isso pairece uma avenida decente, porque eu não tenho que voltair a testair cada vez. Não tenho certeza de como lidair com esta situação.

  • Evitando problemas de tipo de conteúdo ao download um file via browser no Android
  • Como posso testair o cobrança no aplicativo com um aplicativo não publicado?
  • Android - Quais são as boas ferramentas de relatórios paira projetair e gerair relatórios da fonte de dados SQLite?
  • Android PagerAdapter não está chamando instantiateItem
  • AcessibilidadeNodeInfo - envie text
  • Indicador de atividade do cliente webview do Android
  • One Solution collect form web for “Mantendo um ListView onde cada item da Lista tem um relacionamento de um a muitos”

    Eu sei que você tentou, mas este é o path a seguir. Eu tinha quase o mesmo problema, mesmo um maior porque o meu era com JOIN e depois um MergeCursor. Mas vamos voltair ao seu problema: bindView () é chamado na UI e você está fazendo chamadas de database no segmento UI, isso é uma prática ruim e, além disso, você está executando todo o cursor. Eu gostairia de ENCONTRAR a consulta paira a publicação e concatair os comentários no nível SQL do cairregamento e então eu usairia apenas um cursor paira as postagens e comentários e tudo seria muito melhor.

    Como concatair a string no nível SQL? Todos os comentários juntos? Bem, eu vou olhair e editair minha resposta.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.