I use startActivityForResult for Activity1 to start Activity2 :
btnSelectFiles.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
savePreferences();
Intent i = new Intent(getApplicationContext(),
FileManagerActivity.class);
Bundle mBundle = new Bundle();
mBundle.putString("FileManager", "NewOrder");
i.putExtras(mBundle);
startActivityForResult(i, Constants.addFilesCode);
}
});
onActivityResult method :
and in Activity2 :
Intent returnIntent = new Intent();
setResult(1,returnIntent);
FileManagerActivity.this.finish();
But in the Activity1 requestCode is correct, but the resultCode is always 0.
I do not use Back buttons.
my onActivityResult in the Activity1
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i(TAG, "onActivityResult");
Log.i(TAG,
"onActivityResult requestCode" + Integer.toString(requestCode)
+ "resultCode" + Integer.toString(resultCode));
// adding files to the list if the files were added successfully
if (requestCode == Constants.addFilesCode)
{
// successfull operation
if (resultCode == 1)
{
if (adapter == null)
addFiles();
else if (adapter.getCount() == 0)
addFiles();
else {
adapter.notifyDataSetChanged();
changeFileHeader();
}
btnFilesRemove.setVisibility(View.VISIBLE);
for (int b = 0; b < FileManagerActivity.getFinalAttachFiles()
.size(); b++) {
checks.add(b, 0);
}
}
}