移动开发技术作业二


一、设计目标

1、根据课程内容实现对Activity生命周期的理解,使用log展示生命周期的状态变化;
2、根据博客:https://www.jianshu.com/p/c4cfe38a91ed的内容(进阶篇中的 “点击”),在前次作业的基础上增加列表项的单项点击功能,具体要求是:新建一个新的activity1,recycleview的某一项点击后跳转到这个新的activity1。如:点击新闻列表会跳转到新闻详情页面;
3、实现最新的activityforresult功能,具体要求如下:新建一个新的activity2,在activity1上添加按钮可收到activity2的回传值。如:新闻详情页面中点击收藏按钮可显示当前的收藏数量为N。

二、功能说明

在微信的发现页面,点击"听一听",可跳转到详情页面,在详情页面点击“查看播放量”按钮,可获取返回的播放量数据。

三、代码解析

1、itemActivity.java

点击主页面recycleview中的任意一项,跳转到itemActivity。在itemActivity中,点击button按钮,可获取resultActivity的返回值。调用button对象的setOnClickListener方法对点击事件进行监听。利用ActivityResultLauncher 实现获取resultActivity的返回值。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cuijian);
        init();
        setListeners();
        textView=findViewById(R.id.bofangtextView);
        button=findViewById(R.id.button2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent=new Intent(itemActivity.this,resultActivity.class);
                test.launch(intent);
            }
        });
    }
    
    public ActivityResultLauncher test;
    {
        test = registerForActivityResult(
                new ActivityResultContracts.StartActivityForResult(),
                new ActivityResultCallback<ActivityResult>(){

                    @Override
                    public void onActivityResult(ActivityResult result) {
                        if (result.getResultCode() == 2){
                            Log.d("xr","onActivityResultLauncher...");
                            textView.setText(result.getData().getStringExtra("result"));
                        }
                    }
                });
    }

2、resultActivity.java

在onCreate方法中填写需要的返回值

public class resultActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);
        Intent intent=getIntent();
        intent.putExtra("result","68.5w");
        setResult(2,intent);
        finish();
    }
}

四、运行展示

(1)界面截图展示
在这里插入图片描述
(2)页面切换动画
在这里插入图片描述

五、源码仓库地址

Gitee

总结

本次博客实现了简单微信门户界面的列表项的单项点击跳转功能,并可以在详情页面点击按钮获取页面返回值。这次我学习到了许多新的知识,例如如何对点击事件进行监听、如何实现页面跳转、如何获取页面返回数据等等。
总之,本次作业让我对安卓项目相关功能的实现有了更多的了解,为今后的AS开发技术的精进打下了坚实的基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值