starting sub activity

Upload: shivam-shah

Post on 06-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Starting Sub Activity

    1/4

    I am going to show how to use it.

    There are 3 things which you should do:

    1) you need to run your subactivity via this method

    startActivityForResult(Intent i, int requestCode);

    2) in parent activity you should override method

    onActivityResult(int requestCode, int resultCode, Intent data)

    3) in subactivity you need to put result and finish this activity

    setResult(int resultCode, Intent data);

    finish();

    As you see it is simple.

    Now I am going to show whole example:

    First off all need to create Parent (Main) activity:

    import android.app.Activity;

    import android.content.Intent;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    import android.widget.TextView;

    /**

    * Parent activty

    *

    * @author FaYnaSoft Labs

    */

    public class Main extends Activity {

    protected static final int SUB_ACTIVITY_REQUEST_CODE = 100;

    TextView tv;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    tv = (TextView) findViewById(R.id.textId);

    tv.setText("TextView element");

    Button b = (Button) findViewById(R.id.btnId);

  • 8/3/2019 Starting Sub Activity

    2/4

    b.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    Intent i = new Intent(Main.this,

    SubActivity.class);startActivityForResult(i, SUB_ACTIVITY_REQUEST_CODE);

    }

    });

    }

    @Override

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

    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == SUB_ACTIVITY_REQUEST_CODE){

    Bundle b = data.getExtras();

    tv.setText(b.getString("TEXT"));

    }

    }

    }

    As you see here we start activity for result and we override onActivityResult method.

    Also simple main layout:

    Now we need sub activity:

    import android.app.Activity;

    import android.content.Intent;

  • 8/3/2019 Starting Sub Activity

    3/4

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    import android.widget.EditText;

    public class SubActivity extends Activity {public final static int SUCCESS_RETURN_CODE = 1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.subactivity);

    final EditText editView = (EditText) findViewById(R.id.editId);

    editView.setText("SubActivity");

    Button button = (Button) findViewById(R.id.btnId);

    button.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

    Intent intent = new Intent();

    Bundle b = new Bundle();

    b.putString("TEXT", editView.getText().toString());

    intent.putExtras(b);

    setResult(SUCCESS_RETURN_CODE, intent);

    finish();

    }

    });}

    }

    Here we put result for main activity.

    Also layout for subactivity

  • 8/3/2019 Starting Sub Activity

    4/4

    As you see it is very easy to get data from sub activity.