Return result to onActivityResult() - Blog Android

Saturday, 20 August 2011

Return result to onActivityResult()

To return result to onActivityResult() of calling activity, we can use the method setResult().



main activity

package com.exercise.AndroidResult;



import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;



public class AndroidResultActivity extends Activity {



final static int REQ_CODE = 1;



TextView tvResultCode;



/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);



tvResultCode = (TextView)findViewById(R.id.resultcode);



Button btnStartActivity2 = (Button)findViewById(R.id.startactivity2);

btnStartActivity2.setOnClickListener(new Button.OnClickListener(){



@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

Intent intent = new Intent(AndroidResultActivity.this, Activity2.class);

startActivityForResult(intent, REQ_CODE);

}});

}



@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

if(requestCode == REQ_CODE){

if (resultCode == RESULT_OK){

tvResultCode.setText("RESULT_OK");

}else if(resultCode == RESULT_CANCELED){

tvResultCode.setText("RESULT_CANCELED");

}

}

}

}





main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<Button

android:id="@+id/startactivity2"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Start Activity 2"

/>

<TextView

android:id="@+id/resultcode"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

/>

</LinearLayout>





Sub-activity

package com.exercise.AndroidResult;



import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;



public class Activity2 extends Activity {



@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.main2);



Button btnReturnOK = (Button)findViewById(R.id.returnOK);

btnReturnOK.setOnClickListener(new Button.OnClickListener(){



@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Intent i = new Intent();

setResult(RESULT_OK, i);

finish();

}});



Button btnReturnCancel = (Button)findViewById(R.id.returnCancel);

btnReturnCancel.setOnClickListener(new Button.OnClickListener(){



@Override

public void onClick(View v) {

// TODO Auto-generated method stub

Intent i = new Intent();

setResult(RESULT_CANCELED, i);

finish();

}});



}



}





<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/hello"

/>

<Button

android:id="@+id/returnOK"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="return OK"

/>

<Button

android:id="@+id/returnCancel"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="return Cancel"

/>

</LinearLayout>




Borneo08

About Borneo08

Author Description here.. Nulla sagittis convallis. Curabitur consequat. Quisque metus enim, venenatis fermentum, mollis in, porta et, nibh. Duis vulputate elit in elit. Mauris dictum libero id justo.

Subscribe to this Blog via Email :

More links

Related Posts Plugin for WordPress, Blogger...