ここに私のコードです: アクティビティ1(主):データベースに行があるかどうかを確認します。表示されていない場合は、メインビューを読み込みます。少なくとも1つのアクティビティが開始されている場合前のアクティビティを手動で戻す
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:すべてのデータベース項目(アクティビティ1に記載されている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();
}
これは意味があると思います。
私は、 finish2を実行するactivity2のメソッドを作成していますが、何もしません。それはちょうどActivity2をリロードするようです。
助けてください!
削除接触はdbhandler(非活性)です。私がしたのは、finish2を実行するactivity2のメソッドを作成することでした。メソッドを呼び出してフィニッシュを実行するオブジェクトをdbhandlerに作成しました。フィニッシュはActivity1のonCreate()を再起動していないようです。それは可能ですか? – Denis
の場合は、deleteContactからnumを返し、num == 0の場合はdeleteContact testを呼び出すときにactivity2を呼び出し、finish()を呼び出します。 –
どのように私はonCreateを再起動しますか?または、Activity1全体を再開すると思いますか? – Denis