3つのクラスA、B、Cがあります。クラスAはクラスBを呼び出してstartActivityForResult
、そこからデータを取得します。返された後は、クラスBから取得したデータに応じて、クラスCに移動してクラスAにデータを取得するかどうかが決まります。これはonListItemClick
メソッドで実行されます。以下のコードが機能していません。問題が何であるかを誰かが知ることができますか?
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Cursor note = mDbHelper.fetchNote(id);
startManagingCursor(note);
mpass= note.getString(note.getColumnIndexOrThrow(NotesDbAdapter.KEY_PASS));
theid = id
if(mpass !=null) {
Intent ps = new Intent(this, EnterPass.class);
startActivityForResult(ps,2);
}
else {
Intent i = new Intent(this, NoteEdit.class);
i.putExtra(NotesDbAdapter.KEY_ROWID, id);
startActivityForResult(i, 1);}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if(requestCode==2) {
if(null!=intent) {
message=intent.getStringExtra("MESSAGE");
if (mpass == message) {
Intent i = new Intent(this, NoteEdit.class);
i.putExtra(NotesDbAdapter.KEY_ROWID, theid);
startActivityForResult(i, 1);
}
}
else
}
if(requestCode==1) {
if (resultCode == RESULT_OK)
fillData();
}