Я пытаюсь отобразить список аварийных сигналов в приложении для Android, но я получаю исключение. Как я могу это решить?ClassCastException на SimpleAdapter в Android
Это где я пытаюсь я инициализирую адаптер:
List<Alarm> list;
Database db = new Database(AlarmListActivity.this);
list = db.getAllAlarms();
if(!list.isEmpty() && list != null)
{
System.out.println("inside list");
System.out.println(list);
ListAdapter adapter = new SimpleAdapter(
AlarmListActivity.this,
(List<? extends Map<String, ?>>) list,
R.layout.list_item,
new String[] { "id", "time"},
new int[] { R.id.id, R.id.time});
setListAdapter(adapter);
}
Если я не отбрасываю переменный список (List<? extends Map<String, ?>>)
я получаю ошибку, которая заставляет меня бросить его. Я не совсем уверен, что делать здесь.
Это мой LogCat:
04-22 22:26:20.192: E/AndroidRuntime(1697): FATAL EXCEPTION: main
04-22 22:26:20.192: E/AndroidRuntime(1697): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.wakeup/com.example.wakeup.AlarmListActivity}: java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.List
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.os.Handler.dispatchMessage(Handler.java:99)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.os.Looper.loop(Looper.java:137)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread.main(ActivityThread.java:5041)
04-22 22:26:20.192: E/AndroidRuntime(1697): at java.lang.reflect.Method.invokeNative(Native Method)
04-22 22:26:20.192: E/AndroidRuntime(1697): at java.lang.reflect.Method.invoke(Method.java:511)
04-22 22:26:20.192: E/AndroidRuntime(1697): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-22 22:26:20.192: E/AndroidRuntime(1697): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-22 22:26:20.192: E/AndroidRuntime(1697): at dalvik.system.NativeStart.main(Native Method)
04-22 22:26:20.192: E/AndroidRuntime(1697): Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to java.util.List
04-22 22:26:20.192: E/AndroidRuntime(1697): at com.example.wakeup.AlarmListActivity.onCreate(AlarmListActivity.java:53)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.Activity.performCreate(Activity.java:5104)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-22 22:26:20.192: E/AndroidRuntime(1697): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-22 22:26:20.192: E/AndroidRuntime(1697): ... 11 more
04-22 22:26:26.472: I/Process(1697): Sending signal. PID: 1697 SIG: 9
Изменение его к ArrayList не работал ... –