Um aktiv im Android Forum teilnehmen zu können, musst Du Dich bei AndroidPIT registriert haben.
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
ListView macht update viel zu spät verfasst am 15.02.2010 15:04:35
Hallo
hab ein problem mit einer Listactivity bzw deren Liste also ich habe eine listactivity, darauf eine liste mit einem Adapter. der ist von ArrayAdapter abgeleitet. Soweit so gut alle methoden überschrieben und in der getview eben ein layout inflated - alle werte zugewiesen - soweit alles super dann bekomme ich über einen listener mitgeteilt, dass es einen neuen wert gibt für eine zeile. gut dann ruf ich eine update methode auf in meinem adapter - ändere den wert und mache notifiyDatasetChanged. in der liste passiert genau nichts. solange nicht bis ich zb das telefon drehe oder die tastatur aufklappe oder sowas hat jemand eine ahnung was da schuld sein kann? ein notifyDatasetChanged war bisher immer ausreichend. |
Mac Systems ![]() Rang: Android SilverSenior Beiträge: 966 Eintrittsdatum: 21.06.2009 |
RE: ListView macht update viel zu spät verfasst am 15.02.2010 21:49:02
Ich hab ein ähnliches Problem, mir half nur den Adapter etc. neu zu setzen. Alle Bsp funtzten, nach zwei Tagen such hab Ich dann den Kram beiseite geschoben und es erstmal so gelassen.
----- |
Stef ![]() Rang: Android Junior Beiträge: 12 Eintrittsdatum: 31.12.2009 |
RE: ListView macht update viel zu spät verfasst am 16.02.2010 00:12:19
Ich hab es gerade mal versucht ... klappt super bei mir!
Jedoch ist das setzen eines Adapters sehr teuer!!! 1public class list extends ListActivity { 2 private String[] mStrings = { 3 "Hallo", "Welt!", "Das", "ist", "ein", "Test"}; 4 private ArrayAdapter<String> mListAdapter = null; 5 6 /** Called when the activity is first created. */ 7 @Override 8 public void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 11 mListAdapter = new ArrayAdapter<String>(this, 12 android.R.layout.simple_list_item_1, mStrings); 13 14 setListAdapter(mListAdapter); 15 } 16 17 @Override 18 protected void onListItemClick(ListView l, View v, int position, long id) { 19 super.onListItemClick(l, v, position, id); 20 21 mStrings[position] = "Androidpit"; 22 mListAdapter.notifyDataSetChanged(); 23 } 24} Postet mal euren Code, vielleicht finde ich was |
Mac Systems ![]() Rang: Android SilverSenior Beiträge: 966 Eintrittsdatum: 21.06.2009 |
RE: ListView macht update viel zu spät verfasst am 16.02.2010 09:13:52
Das ist das Problem, ich nutze Cursor und das DAO Pattern, Viewbinder etc pp, momentan kann ich das nicht mal eben Posten. Gegen ende dieser Iteration werde Ich mein Problem mal selbst zerlegen und gucken woran es liegt.
----- |
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
RE: ListView macht update viel zu spät verfasst am 16.02.2010 13:27:02 |
Mac Systems ![]() Rang: Android SilverSenior Beiträge: 966 Eintrittsdatum: 21.06.2009 |
RE: ListView macht update viel zu spät verfasst am 16.02.2010 13:48:12
Bei mir hab ich das solange in eine Methode ausgelagert:
1private void setupMapping(final Cursor _cursor) 2 { 3 if (_cursor == null) 4 { 5 throw new NullPointerException("Cursor"); 6 } 7 startManagingCursor(_cursor); 8 9 // Util.printCursorColumnNames(_cursor); 10 11 final String[] from = new String[] 12 { "name", "minwind", "maxwind", "windmeasure", "starting", "till", "activ" }; 13 final int[] to = new int[] 14 15 // "SELECT A.name, B.spotid, B.starting, B.till,B.activ FROM selected as B,spot as A where A.spotid=B.spotid" 16 // custom_spotoverview_wind_details 17 { R.id.custom_spotoverview_name, R.id.custom_spotoverview_wind_start, R.id.custom_spotoverview_wind_end, 18 R.id.custom_spotoverview_wind_details, R.id.custom_spotoverview_wind_from, 19 R.id.custom_spotoverview_wind_to, R.id.custom_spotoverview_activ }; 20 shows = new SimpleCursorAdapter(this, R.layout.custom_listview_spotoverview, _cursor, from, to); 21 shows.setViewBinder(new SpotOverviewViewBinder()); 22 setListAdapter(shows); 23 } Problem ist das man die selektion verliert, das ist mehr als User unfreundlich. Kommentiere ich das setViewBinder raus, hab ich das gleiche Problem.
----- |
Meschugge M ![]() Rang: Klassensprecher Beiträge: 24 Eintrittsdatum: 09.01.2010 |
RE: ListView macht update viel zu spät verfasst am 17.02.2010 10:30:28
Nur mal sicherheitshalber: Dein Code läuft schon im UI-Thread, oder?
|
Markus Gu ![]() Rang: Android Gottheit Beiträge: 2.528 Eintrittsdatum: 05.06.2009 |
RE: ListView macht update viel zu spät verfasst am 17.02.2010 10:35:21 |