保存されたメッセージ(同じアプリの別のアクティビティに保存したもの)を表示するはずのアクティビティをアプリで開こうとすると、強制的に閉じて、LogCatにこれらのエラーが表示されます。
10-08 18:22:17.243: E/AndroidRuntime(269): FATAL EXCEPTION: main
10-08 18:22:17.243: E/AndroidRuntime(269): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.mensagem/com.example.mensagem.Mensagenssalvas}: java.lang.NullPointerException
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.os.Looper.loop(Looper.java:123)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread.main(ActivityThread.java:4627)
10-08 18:22:17.243: E/AndroidRuntime(269): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 18:22:17.243: E/AndroidRuntime(269): at java.lang.reflect.Method.invoke(Method.java:521)
10-08 18:22:17.243: E/AndroidRuntime(269): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-08 18:22:17.243: E/AndroidRuntime(269): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-08 18:22:17.243: E/AndroidRuntime(269): at dalvik.system.NativeStart.main(Native Method)
10-08 18:22:17.243: E/AndroidRuntime(269): Caused by: java.lang.NullPointerException
10-08 18:22:17.243: E/AndroidRuntime(269): at com.example.mensagem.Mensagenssalvas.Mensagens(Mensagenssalvas.java:41)
10-08 18:22:17.243: E/AndroidRuntime(269): at com.example.mensagem.Mensagenssalvas.onCreate(Mensagenssalvas.java:26)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-08 18:22:17.243: E/AndroidRuntime(269): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
10-08 18:22:17.243: E/AndroidRuntime(269): ... 11 more
このリンクのコードを使用する前は正常でしたが、コードを使用した後、データベースcolumn
を開こうとしたアクティビティでデータベースが開かれていません(メッセージを表示するためのものです)。
Mensagenssalvas.java
public class Mensagenssalvas extends Activity {
public SQLiteDatabase db;
ArrayList<String> list = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mensagenssalvas);
db = openOrCreateDatabase("banco.db", Context.MODE_WORLD_WRITEABLE, null);
Mensagens();
}
private void Mensagens() {
// TODO Auto-generated method stub
ListView user = (ListView) findViewById(R.id.lvMensagens);
String[] campos = new String[] {"mensagemsalva", "mensagemenviada"};
list = new ArrayList<String>();
Cursor c = db.query( "mensagens", campos, null, null, null, null, null);
c.moveToFirst();
if(c.getCount() > 0) {
while(true) {
list.add(c.getString(c.getColumnIndex("mensagemsalva")).toString());
if(!c.moveToNext()) break;
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
user.setAdapter(adapter);
}
}