2016-04-11 8 views
0

abgeschlossen ich einstellen wollen 55000 Höhe ListViewAndroid: setLayoutParams nach Last

Dieser Prozess lange eine Zeit (ca. 5-6 Sekunden)

ich unten Code verwenden, aber nicht in diesem Thema arbeiten

new Thread(new Runnable() { 

     @Override 
     public void run() { 
      params.height = 55000; 
      lstContent.setLayoutParams(params); 
      lstContent.requestLayout(); 
      lstContent.post(new Runnable() { 

         @Override 
         public void run() { 
           lstContent.setVisibility(View.VISIBLE); 
         } 
       }); 

      } 
    }).start(); 

Wenn ich setLayoutParams in Runnable, Anwendung nicht für 5-6 Sekunden bis zur vollständigen Ladung arbeiten

+0

Ich denke, die UI sollte nur auf dem 'Main/Ui' Thread geändert werden. [link] (http://developer.android.com/training/multiple-threads/communicate-ui.html) –

+0

Können Sie mir mehr helfen? –

+0

Sie könnten die folgenden Links versuchen: [link1] (http://stackoverflow.com/questions/4369537/update-ui-from-thread) und [link2] (http://www.intertech.com/Blog/android -non-ui-zu-ui-thread-communications-part-1-of-5 /) –

Antwort

1

Es ist ein Absolut kein Grund, eine Listenansicht mit der Höhe von 55000 zu erstellen. Listenansicht sollte höchstens MATCH_PARENT sein. Der gesamte Zweck der Listenansicht besteht darin, Ansichten wiederzuverwenden, so dass die Listenansicht lang erscheint, während sie nur die Höhe des Bildschirms einnimmt.