自学的烦恼
自学的烦恼
  • 发布:2022-10-23 21:28
  • 更新:2022-10-28 19:13
  • 阅读:1118

uts如何使用<>或者<*>的写法?

分类:uts

之前用原生引入了XToast悬浮窗框架,现在想用uts来实现,XToast有两种用法,Java和Kotlin

     Java 用法是:new XToast<>(this)  
     Kotlin 用法是:XToast<XToast<*>>(activity)

但ts不支持<>和<*>,即使改成<any>也无法编译通过
查某度说<*>又类似<Any?>,ts也不支持<any?>这写法
这如何去解决<>和<*>的问题?

2022-10-23 21:28 负责人:DCloud_UNI_FXY 分享
已邀请:

最佳回复

DCloud_Android_DQQ

DCloud_Android_DQQ

HX 3.6.8 此问题已修复

1

XToast<XToast<*>> 

类似这种语法是一个特殊场景,目前还不支持,针对改语法的版本 3.6.8 将会在本周的下个版本支持。

UTS实现代码是这样的:

new XToast<XToast<unknown>>(getUniActivity())  
                    .setDuration(1000)  
                    .setContentView(R.layout.window_hint)  
                    .setImageDrawable(android.R.id.icon,  android.R.mipmap.sym_def_app_icon)  
                    .setText(android.R.id.message, "一秒后自动消失")  
                    .show()

2

Hello UTS 模块项目新增了一个插件,演示XToast 集成示例。 稍后也会发布出来。

3 感谢反馈问题。

DCloud_Android_DQQ

DCloud_Android_DQQ

ts不支持<>和<*>,即使改成也无法编译通过

你怎么写的,编译报错贴一下

自学的烦恼

自学的烦恼 (作者) - 自学的烦恼

写法:  
export function showGlobalWindow() {  
    let activity = getUniActivity()!.getApplication()  
    try {  
        let xToastView = new XToast<any>(activity)  
        // xToastView.setGravity(Gravity.END | Gravity.BOTTOM)  
        //  .setGravity(Gravity.END | Gravity.BOTTOM)  
        //  .setYOffset(200)  
        //  // 设置指定的拖拽规则  
        //  .setDraggable(new SpringDraggable());  
        // xToastView.setContentView(R.layout.window_phone);  
        // xToastView.show();  
    } catch (e) {  
        console.log(e)  
    }  
}  

报错:  
18:30:17.941 ‌error: None of the following functions can be called with the arguments supplied:   
18:30:17.948 public constructor XToast<X : XToast<*>!>(p0: Activity!) defined in com.hjq.xtoast.XToast  
18:30:17.953 public constructor XToast<X : XToast<*>!>(p0: Application!) defined in com.hjq.xtoast.XToast  
18:30:17.953 private constructor XToast<X : XToast<*>!>(p0: Context!) defined in com.hjq.xtoast.XToast‌  
18:30:17.958 at uni_modules/uts-dragview/utssdk/app-android/index.uts:111:24  
18:30:17.959 109|    try {  
18:30:17.963 111|     let xToastView = new XToast<any>(activity)  
                                                                    ^
自学的烦恼

自学的烦恼 (作者) - 自学的烦恼

Kotlin写法:  
let xToastView =  XToast<XToast<any>>(activity)  
报错:  
error: Type argument is not within its bounds: should be subtype of 'XToast<*>!'‌

试了这两种都不行,用java可以打包成原生插件,但uts却不知道怎么去实现这写法

DCloud_Android_DQQ

DCloud_Android_DQQ

收到。问题已确认。

自学的烦恼

自学的烦恼 (作者) - 自学的烦恼

使用官方最新的demo,按步骤先移走了R.jar,但自定义基座还是打包错误
https://ide.dcloud.net.cn/build/errorLog/a5cbe150-55e4-11ed-8510-014dac1de282

DCloud_Android_DQQ

DCloud_Android_DQQ

HX 3.6.8 此问题已修复

要回复问题请先登录注册