私のコードは次のとおりです: Activity1 (メイン): データベースに行があるかどうかを確認します。そうでない場合は、メイン ビューを読み込みます。少なくとも 1 つの開始 Activity2 がある場合
int num = db.numOfRows();
if(num==0){
setContentView(R.layout.main);
} else {
startActivity(new Intent(this, Activity2.class));
}
アクティビティ 2: テーブルの行に db 情報を入力する moreprojects ビューを読み込みます。
super.onCreate(savedInstanceState);
setContentView(R.layout.moreprojects);
populateRows();
非アクティビティ dbhandler: すべてのデータベースの要素が含まれています (Activity1 で言及されている db)。これで、Activity2 で、以下のメソッドを呼び出す行を削除できます。その if(num==0) 内で、Activity2 に Activity1 を呼び出してもらいたいと考えています。Activity1 は、プロジェクトを作成できる画面です。
public void deleteContact(int id) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_blah, KEY_ID + " = ?",
new String[] { String.valueOf(id) });
int num = numOfRows();
Log.d("Testing","Number of rows: "+num);
if(num ==0){
//go back to Activity1
}
db.close();
}
これが理にかなっていることを願っています。
次のような複数の異なることを試してきました: activity2 で finish(); を行うメソッドを作成する... しかし、それは何もしません。Activity2 をリロードしているようです。
助けてください!