Activity的启动and销毁

Activity的启动

(1)使用Intent启动Activity

  通过监听器,监听空间的动作来实现从一个J界面也就是Activity跳转至另一个Activity。

Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        ntent intent = new Intent(getApplicationContext(),FrameLayoutActivity.class);
        startActivity(intent);
    }
});

(2)带返回值得启动

  带返回值的启动,我们可以举例来说明一下。假如现在我们有一个主界面MainActivity,从主界面通过一个按键进入另一个界面SecondActivity,我们进入SecondActivityj界面,在SecondActivity界面中输入文字,点击按钮后退出SecondActivity界面,输入的文字显示在MainActivity中。这就是带返回值的启动,现在我们用代码来实现下哈……

//MainActivity
public class MainActivity extends Activity {
    //定义文本框,显示传回的数据
    private TextView textView;
    //定义按钮,点击后进入SecondActivity界面。
    private Button button2;
    private Intent intent_second;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //定义按钮启动SecondActivity界面。
        button2 = (Button) findViewById(R.id.button_startSecond);
        //定义文本框,接收来自SecondActivity的数据。
        textView = (TextView) findViewById(R.id.textView);
        //定义一个监听器,监听按钮控件动作。
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //创建Intent对象,实现从一个Activity到另一个Activity的跳转。
                intent_second = new Intent(MainActivity.this, SecondActivity.class);
                //启动Intent,并设置requestCode.
                startActivityForResult(intent_second, 0x11);
            }
        });
    }

    //重写onActivityResult方法,回收来自上一个Activity的resultCode和传递来的数据data.
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            //获得上一个Activity的数据并将其转化为String类型。
            String s = data.getStringExtra("backData");
            //将数据写入文本处。
            textView.setText(s);
        }
    }
}
//SecondActivity
public class SecondActivity extends Activity {
    //定义按钮,点击后发送编辑框中数据给MAinActivity。
    private Button button_back;
    //定义编辑框,输入文本。
    private EditText edit;
    private Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        //获得MainActivity启动SecondActivity的Intent对象。
        intent  = getIntent();
        //创建按钮的点击事件,点击后发送数据给MAinActivity。
        button_back = (Button) findViewById(R.id.button_back);
        edit = (EditText) findViewById(R.id.edit);
        button_back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //通过Extra传送数据。
                intent.putExtra("backData",edit.getText().toString());
                //设置resultCode。
                setResult(RESULT_OK, intent);
                //关闭SecondActivity界面。
                SecondActivity.this.finish();
            }
        });
    }
}

步骤总结:

  1. 启动第一个界面的startActivityResult方法,设置好requestCode。
  2. 第二个界面首先获得第一个界面传递的Intent对象赋值给自己的Intent对象,然后将数据打包通过putExtra方法,并设置ResultCode,最后关闭界面。
  3. 回到第一个界面,重写onActivityResult()方法,判断是否reseultCode正常。然后从data中取出数据。

Activity的销毁

back键返回

  大家都知道的一种方式,可以通过手机的back键返回,从而销毁当前Activity。

finish() 

  可以通过在一个空间的监听事件中通过类调用finish()方法从而销毁当前的活动。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小_爽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值