Intent实现跳转

博客探讨了在Android中使用Intent进行活动跳转时遇到的数据丢失问题,特别是当活动配置改变如屏幕旋转时。在SeconedActivity设置为singleTask模式下,连续跳转可能导致EditText数据未正确更新。解决方案在于利用onNewIntent()方法处理新Intent,以确保第二次跳转后textView显示正确输入的‘456’,而不是旧的‘123’。同时提到了ActivityOptionCompat在活动跳转中的应用。
摘要由CSDN通过智能技术生成

1.注意事项:因为手机屏幕发生旋转就会导致onCreate()方法重新加载,这就导致之前textView控件的数据重新加载,导致原有输入的数据的丢失,如下:

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView) findViewById(R.id.main_tv);
        textView.setOnClickListener(this);
        if (savedInstanceState != null){//
            CharSequence chars = savedInstanceState.getCharSequence("textView");
            textView.setText(chars);
        }
    }

    @Override
    protected void onSaveInstanceState(Bundle outState) {//实现该方法解决上述问题,当手机屏幕发生反转时,“点击”也不会变成“<span style="font-family: Arial, Helvetica, sans-serif;">hello World!</span>”
        super.onSaveInstanceState(outState);
        outState.putCharSequence("textView",textView.getText());
    }

    @Override
    public void onClick(View v) {
        ((TextView) v).setText("点击");
    }

2.onNewIntent()方法的功能

在SeconedActivity的android:launchMode="singleTask"模式下,通过intent实现MainActivity------->SeconedActivity------->MainActivity------->SenconedActivity的连续跳转,第一次MainActivity------->Seconed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值