getItemAtPosition(position) - ClassCastException

J

joergo

Neues Mitglied
0
Hallo,

ich habe einen Android Client für einen Webservice geschrieben. Dieser funktioniert soweit auch ganz gut. Ich lasse eine Reihe von (Hotel)-Objekten aus einer MySql Datenbank in einer List View ausgeben.

Nun will ich das weitere Details in einem neuen Intent angezeigt wird. Allerdings bekomme ich bei der Auswahl eine ClassCast Exception, da ich meineListView.getItemAtPosition(position) und dieser ein Object zurückgibt und ich diesen nicht casten kann ?! Es handelt sich glaub ich um ein Java Problem, aber vielleicht kann mir ja einer helfen ?!

PHP:
meineListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {

Intent newActivity = new Intent(v.getContext(),detail.class);  

Hotel selectedhotel = (Hotel) meineListView.getItemAtPosition(position);
            		// hier kommt der Fehler
                	
            	
                	
newActivity.putExtra("Hotelname", selectedhotel.getName().toString());
                	
startActivity(newActivity);
 
du holst ein object aus deiner listview, das wird eine view sein und sicher kein Hotel

du musst es aus dem adapter holen.

meineListView.getAdapter().getItem(position)
 
  • Danke
Reaktionen: joergo
Hallo,

danke für die schnelle Antwort. Leider bekomme ich immer noch den selben Fehler. Ich hab den Code wie folgt geändert:

PHP:
Intent newActivity = new Intent(v.getContext(),detail.class); 
            		
            		
Hotel selectedhotel =  (Hotel) meineListView.getAdapter().getItem(position);
            		
            		
newActivity.putExtra("Hotelname", selectedhotel.getName());
startActivity(newActivity);

Sorry wenn ich irgendwelche Fehler mache, habe erst vor kurzem angefangen mit Android Programmierung :)
 
1. Fehler: Kein LogCat output gepostet
2. Fehler: Du willst Daten vom Adapter holen, zeigst aber deinen Adapter Code nicht her.

Dann wirds natürlich schwer weitere Fehler zu finden.
 
LogCat:

PHP:
08-22 15:20:03.044: DEBUG/SntpClient(59): request time failed: java.net.SocketException: Address family not supported by protocol
08-22 15:20:12.182: DEBUG/AndroidRuntime(376): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
08-22 15:20:12.182: DEBUG/AndroidRuntime(376): CheckJNI is ON
08-22 15:20:12.382: DEBUG/AndroidRuntime(376): --- registering native functions ---
08-22 15:20:13.172: DEBUG/AndroidRuntime(376): Shutting down VM
08-22 15:20:13.172: DEBUG/dalvikvm(376): Debugger has detached; object registry had 1 entries
08-22 15:20:13.182: INFO/AndroidRuntime(376): NOTE: attach of thread 'Binder Thread #3' failed
08-22 15:20:13.932: DEBUG/AndroidRuntime(384): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
08-22 15:20:13.932: DEBUG/AndroidRuntime(384): CheckJNI is ON
08-22 15:20:14.122: DEBUG/AndroidRuntime(384): --- registering native functions ---
08-22 15:20:14.912: INFO/ActivityManager(59): Force stopping package de.test.com uid=10036
08-22 15:20:14.922: INFO/Process(59): Sending signal. PID: 369 SIG: 9
08-22 15:20:14.974: INFO/WindowManager(59): WIN DEATH: Window{4500c5f0 de.test.com/de.test.com.WebAndroidActivity paused=false}
08-22 15:20:15.002: INFO/UsageStats(59): Unexpected resume of com.android.launcher while already resumed in de.test.com
08-22 15:20:15.142: INFO/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=de.test.com/.WebAndroidActivity }
08-22 15:20:15.162: DEBUG/AndroidRuntime(384): Shutting down VM
08-22 15:20:15.172: DEBUG/dalvikvm(384): Debugger has detached; object registry had 1 entries
08-22 15:20:15.232: INFO/AndroidRuntime(384): NOTE: attach of thread 'Binder Thread #3' failed
08-22 15:20:15.442: INFO/ActivityManager(59): Start proc de.test.com for activity de.test.com/.WebAndroidActivity: pid=391 uid=10036 gids={3003}
08-22 15:20:15.502: WARN/InputManagerService(59): Got RemoteException sending setActive(false) notification to pid 369 uid 10036
08-22 15:20:16.062: WARN/ActivityThread(391): Application de.test.com is waiting for the debugger on port 8100...
08-22 15:20:16.092: INFO/System.out(391): Sending WAIT chunk
08-22 15:20:16.102: INFO/dalvikvm(391): Debugger is active
08-22 15:20:16.312: INFO/System.out(391): Debugger has connected
08-22 15:20:16.312: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:16.512: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:16.712: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:16.912: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:17.112: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:17.322: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:17.522: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:17.722: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:17.922: INFO/System.out(391): waiting for debugger to settle...
08-22 15:20:18.185: INFO/System.out(391): debugger has settled (1398)
08-22 15:20:22.072: INFO/ActivityManager(59): Displayed activity de.test.com/.WebAndroidActivity: 6650 ms (total 6650 ms)
08-22 15:20:27.302: DEBUG/dalvikvm(127): GC_EXPLICIT freed 159 objects / 8152 bytes in 160ms

Adapter:

PHP:
ListAdapter listenAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, meineListe);
            
final ListView meineListView = (ListView) findViewById(R.id.listView1);
meineListView.setAdapter(listenAdapter);
           
meineListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {

            	

            		
Intent newActivity = new Intent(v.getContext(),detail.class); 
            		
            		
Hotel selectedhotel =  (Hotel) meineListView.getAdapter().getItem(position);
            		
            		
            	
                	
 newActivity.putExtra("Hotelname", selectedhotel.getName());
     startActivity(newActivity);                


            	}
            });
 

Ähnliche Themen

J
Antworten
4
Aufrufe
807
deek
D
E
Antworten
10
Aufrufe
1.353
enrem
E
W
Antworten
0
Aufrufe
726
whazza
W
Zurück
Oben Unten