come aggiungere i dati più recenti alla visualizzazione dell'elenco base personalizzata di base in android?

Ho implementato un'applicazione con l'adattatore di base personalizzato per i dati di visualizzazione nella visualizzazione di elenco. Nella mia applicazione ho visualizzato alcuni contenuti alla vista di elenco utilizzando l'adattatore base personalizzato che il contenuto verrà dal servizio web. Ho usato un button per get i dati più recenti da service.when ottieni i dati più recenti dal servizio quindi vorrei aggiungere i dati più recenti alla list di vista in fondo senza eliminare i dati precedenti nella visualizzazione di elenco.

Ho implementato la mia domanda come segue:

  • Esplora file di Android Device Monitor non funziona con l'emulatore che esegue API 24+
  • Impedire il tremolio indesiderato a causa del comportmento innato di WebView
  • Android e MJPEG
  • Come eseguire un'attività solo una volta come la schermata Splash
  • Creazione di un arrailist di oggetti
  • Rileva se esiste una connessione Internet disponibile su Android
  • result = new ParseXml().convertMessages(new Model().getMessages("0")); count = Integer.parseInt(result.get(0).getMessageID()); ((Button)findViewById(R.id.oldMessagesButton)).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { fetchNewMessages(); } }); protected void fetchOldMessages() { // TODO Auto-generated method stub waitProgreess = ProgressDialog.show(this, "Please wait", "Loading..."); new Thread() { public void run() { try { Thread.sleep(800); } catch (InterruptedException e) { } newmessageHandler.sendEmptyMessage(0); } }.start(); } private Handler newmessageHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); Log.v("000000", "count :"+count); if(count>0){ newmsgResult = new ParseXml().convertMessages(new Model().getNewMessages(""+count)); CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,newmsgResult); lst.setAdapter(adapter); adapter.notifyDataSetChanged(); count=Integer.parseInt(newmsgResult.get(oldmsgResult.size()-1).getMessageID()); } waitProgreess.dismiss(); } }; 

    Ho implementato il codice riportto in precedenza in base all'utente cliccando sul valore del count dei pulsanti verrà inviato al servizio quindi get il più recente dal servizio. Quando ottengo l'ultima list da servie che l'elenco vorrebbe aggiungere alla visualizzazione di elenco.

    dal codice di cui sopra posso get solo l'ultimo precedente sta eliminando.

    Come posso aggiungere i dati più recenti (elenco) a listview nel mio caso sopra?

    per favore un qualsiasi corpo mi aiuti ….

  • Come get la posizione corrente in Android
  • Qual è l'intenzione di call la schermata "Seleziona block schermo"?
  • Come posizionare pulsanti su Image in android?
  • Come utilizzare la visualizzazione propria nel layout?
  • android - ricerca listview?
  • ConsumerIrManage.hasIrEmitter () restituisce sempre false (API 19)
  • 4 Solutions collect form web for “come aggiungere i dati più recenti alla visualizzazione dell'elenco base personalizzata di base in android?”

      CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,newmsgResult); 

    definisci questa scheda e newmsgResult in cima alla class .. non una variabile locale all'interno di una class ..

    Ora, each volta che si desidera aggiornare i dati in visualizzazione elenco, aggiornare i valori / dati in newmsgResult e call adapter.notifyDataSetChanged()

    Penso che sta accadendo perché stai creando un nuovo adattatore personalizzato each volta che stai ricevendo nuovi messaggi .. in questa linea

     CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,newmsgResult); 

    non fare questo e cercare di utilizzare adapter.add (Newmessage); è ansible utilizzare l'elenco di matrici per rendere più facile il lavoro

    ok .. dovresti avere una function di aggiunta nella tua class di adattatore personalizzato per questo .. puoi farlo aggiungendolo alla tua class adattatore personalizzato

     private void customadd(String newmsg) { //ArrayList<String> msg=new List<String>; create this arrays list as a source to your adapter msg.add(newmsg); adapter.notifyDataSetChanged(); } 

    Inizialmente carichi la tua visualizzazione di elenco con customAdapter utilizzando il risultato (dal risultato di assunzione è arrayslist)

      CustomeAdapter adapter = new CustomeAdapter(GetMsgsScreen.this,result); lst.setAdapter(adapter); 

    una volta che hai un nuovo valore, non c'è bisogno di creare un nuovo risultato e un object adattatore, basta aggiungere il risultato dell'object adattatore,

     result.add("append your new result"); 

    quindi semplicemente adapter.notifyDataSetChanged();

    Non creare una nuova scheda. Mantenere l'originale e passare i nuovi dati per aggiungerlo.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.