鸿蒙中页面的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
相关问题
鸿蒙如何实现页面的懒加载?
38浏览 • 0回复 待解决
鸿蒙如何获取context对象
9193浏览 • 1回复 待解决
如何在UI获取Context
2848浏览 • 1回复 待解决
如何在工具类获取Context
1888浏览 • 1回复 待解决
worker.ts如何获取context
2027浏览 • 2回复 待解决
多线程EGL如何共享Context
305浏览 • 1回复 待解决
HarmonyOS 在单元测试如何引入context
195浏览 • 1回复 待解决
HarmonyOSweb与内嵌vue页面的交互问题
416浏览 • 1回复 待解决
如何NavPathStack也支持页面的启动模式
414浏览 • 1回复 待解决
如何实现page页面的横竖屏切换
391浏览 • 1回复 待解决
HarmonyOS如何实现hap包页面的跳转
515浏览 • 1回复 待解决
RichEditor如何拿到BuilderSpan?
1691浏览 • 1回复 待解决
加载页面的时候如何自定义header
702浏览 • 1回复 待解决