Har et problem som jeg ikke skjønner hvordan oppstår, eller hvordan jeg skal få fikset. Regner med at det kanskje bare er en nybegynnerfeil som er lett å se for et trent øye. Det som skjer er at appen kræsjer når den returnerer fra MovieListActivity. Her er koden min:
Og her er Error-meldingene som dukker opp:
Setter pris på all hjelp eller pek i riktig retning
Kode
package com.tobiasfoyen.mio; import java.util.List; import java.util.Random; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ArrayAdapter; public class MainActivity extends ListActivity { private CommentsDataSource datasource; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); datasource = new CommentsDataSource(this); datasource.open(); List<Comment> values = datasource.getAllComments(); ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this, android.R.layout.simple_list_item_1, values); setListAdapter(adapter); } public void newActivityOnClik(View view) { Intent intent=new Intent(getApplicationContext(),MovieListActivity.class); startActivityForResult(intent, 100); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 100) { if (resultCode == RESULT_OK) { String myValue = data.getStringExtra("valueName"); Log.v("blah", myValue); @SuppressWarnings("unchecked") ArrayAdapter<Comment> adapter = (ArrayAdapter<Comment>) getListAdapter(); Comment comment = null; String[] comments = new String[] { "Cool", "Very nice", "Hate it" }; int nextInt = new Random().nextInt(3); comment = datasource.createComment(comments[nextInt]); adapter.add(comment); adapter.notifyDataSetChanged(); } } } @Override protected void onResume() { datasource.open(); super.onResume(); } @Override protected void onPause() { datasource.close(); super.onPause(); } }
Kode
05-18 21:28:50.576: D/AndroidRuntime(1926): Shutting down VM 05-18 21:28:50.576: W/dalvikvm(1926): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 05-18 21:28:50.756: E/AndroidRuntime(1926): FATAL EXCEPTION: main 05-18 21:28:50.756: E/AndroidRuntime(1926): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=100, result=-1, data=Intent { (has extras) }} to activity {com.tobiasfoyen.mio/com.tobiasfoyen.mio.MainActivity}: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/com.tobiasfoyen.mio/databases/commments.db 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread.deliverResults(ActivityThread.java:3141) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3184) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread.access$1100(ActivityThread.java:130) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1243) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.os.Handler.dispatchMessage(Handler.java:99) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.os.Looper.loop(Looper.java:137) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread.main(ActivityThread.java:4745) 05-18 21:28:50.756: E/AndroidRuntime(1926): at java.lang.reflect.Method.invokeNative(Native Method) 05-18 21:28:50.756: E/AndroidRuntime(1926): at java.lang.reflect.Method.invoke(Method.java:511) 05-18 21:28:50.756: E/AndroidRuntime(1926): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 05-18 21:28:50.756: E/AndroidRuntime(1926): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 05-18 21:28:50.756: E/AndroidRuntime(1926): at dalvik.system.NativeStart.main(Native Method) 05-18 21:28:50.756: E/AndroidRuntime(1926): Caused by: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/data/com.tobiasfoyen.mio/databases/commments.db 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1437) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) 05-18 21:28:50.756: E/AndroidRuntime(1926): at com.tobiasfoyen.mio.CommentsDataSource.createComment(CommentsDataSource.java:35) 05-18 21:28:50.756: E/AndroidRuntime(1926): at com.tobiasfoyen.mio.MainActivity.onActivityResult(MainActivity.java:52) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.Activity.dispatchActivityResult(Activity.java:5192) 05-18 21:28:50.756: E/AndroidRuntime(1926): at android.app.ActivityThread.deliverResults(ActivityThread.java:3137) 05-18 21:28:50.756: E/AndroidRuntime(1926): ... 11 more