鸿蒙中页面的context如何拿到

比如在其他类里面想调用startAbility跳转页面,但是拿不到首页的context,这种场景应该怎么调用呢。

 

我目前是用IDE创建了一个模板列表应用,我想在列表的item增加一个页面跳转的事件,但是这个ListItem类里没有startAbility的方法,用MainAbility.this.startAbility(Android的写法)也不行,求助求助

Ability
2020-11-13 10:06:38
浏览
1
收藏 1
回答 3
待解决
回答 3
按赞同
/
按时间
开源夏德旺
4

列表跳转页面请参考我下面的案例的代码,在HarmonyOS中跳转代码和Android是不一样的,这里使用的是present方法。还有如果你非要获取Context对象的话,可以在生命周期的某个方法中调用getContext就可以获取到。

       

//设置列表item的点击事件
        listContainer.setItemClickedListener(new ListContainer.ItemClickedListener() {
            @Override
            public void onItemClicked(ListContainer listContainer, Component component, int i, long l) {
//                showToast("第" + i + "行被点击");
                //点击item之后跳转slice页面,并且传递数据
                Intent intent = new Intent();
                intent.setParam("contacts", list.get(i));
                intent.setParam("name", list.get(i).getName());
                present(new ContactsDetailSlice(), intent);
            }
        });
分享
微博
QQ
微信
回复
2021-02-25 18:36:49
小囧宝宝
1

如果只是想调用startAbility方法实现跳转的话,是不是直接在这个类里面extends AbilitySlice就可以了?

分享
微博
QQ
微信
回复
2020-11-13 11:36:28
是个过客
1

可以试试将需要的context当做参数传入到需要使用的方法中,然后调用startAbility方法

分享
微博
QQ
微信
回复
2020-11-13 16:09:46
相关问题
鸿蒙如何实现页面的懒加载?
170浏览 • 0回复 待解决
鸿蒙如何获取context对象
9346浏览 • 1回复 待解决
如何在UI获取Context
3104浏览 • 1回复 待解决
如何在工具类获取Context
2016浏览 • 1回复 待解决
worker.ts如何获取context
2173浏览 • 2回复 待解决
多线程EGL如何共享Context
458浏览 • 1回复 待解决