Kotlin原生界面

Kotlin是否使用了与Java相同的本地接口实现? 是否像在Java(对象传输的成本,字节流等)一样高效(或低效)?

Android Studio Kotlin dataSnapshot.getValue错误

我已经在最近的项目中将java文件转换为kotlin文件,问题是我正在面对与此代码的错误: val map = dataSnapshot.getValue<Map>(Map::class.java) 我在“Map :: class”下有一个红线,android studio说: 只有类允许在类文字的左侧 我应该如何处理这个代码? 有没有其他的方式来写呢? 这是一个相对的kotlin代码片段: val messageText = messageArea!!.text.toString() if (messageText != “”) { val map = HashMap() map.put(“message”, messageText) map.put(“user”, UserDetails.username) reference1!!.push().setValue(map) reference2!!.push().setValue(map) messageArea!!.setText(“”) } } reference1!!.addChildEventListener(object : ChildEventListener { override fun onChildAdded(dataSnapshot: DataSnapshot, s: String) { val map = dataSnapshot.getValue<Map>(Map::class.java) val message = map.get(“message”).toString() val […]

在kotlin中平台types的智能广播

我正在使用kotlin创建我的适配器,它在android中扩展了BaseAdapter 。 下面是getView方法内部的代码 override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View? { var binding : ImageBinding var conView = convertView if(conView == null){ binding = DataBindingUtil.inflate(LayoutInflater.from(parent?.context), R.layout.image, parent, false) conView = binding.root; conView.tag = binding }else { binding = conView.getTag() as ImageBinding } return conView; } conView.tag = binding和binding = conView.getTag()突出显示粉红色的颜色。当我hover在conView.tag = binding与我的鼠标popup式消息智能转换到android.view.View! 。 […]

在可能为空的接收器types的数组列表中,只允许安全或非空的确定的呼叫

刚开始使用kotlin进行android开发。我的arraylist被声明为这样 – var day1: ArrayList? = null 现在我试图通过它的位置访问一个元素 val dietPlan= day1[position] 但我正在编译时间错误, 在可能为空的接收器types的数组列表中,只允许安全或非空的确定的呼叫 为什么我得到这个错误,我该如何解决?

初始化方法inheritance

如果我有一个init方法抽象类A: abstract class A(){ init { println(“Hello”) } } 然后是扩展A的B类 class B(): A() 如果我像这样实例化B. fun main(args: Array){ B() } A中的init方法仍然运行并且Hello打印出来了吗? 如果没有,我需要做些什么来让A的init方法运行?

Firebase存储用户界面和滑动不显示图像

所以我有一个从Firebase存储加载图片的回收站。 我使用与FirebaseImageLoader结合的Glide库来实现这一点。 直到上个星期一,所有的工作都很好。 图像不再显示,没有任何错误,exception或者帮助我弄清楚为什么图像不会加载了:下面是一些代码片段: 摇篮: compile ‘com.github.bumptech.glide:glide:3.7.0’ compile ‘com.firebaseui:firebase-ui-storage:1.2.0’ ImageView我用来显示图像: 构建Firebase存储链接的Java代码: public StorageReference getThumbUri(String municipality){ return Constants.STORAGE_REFERENCE.child(Constants.PROMOTIONS).child(municipality).child(promo_thumb); //returns eg gs://myfirebaseapp.com/promotions/Mahikeng/spar_thumb.png } 加载图片的代码: Glide.with(context).using(new FirebaseImageLoader()).load(promotions.get(position). getThumbUri(municipality)).into(holder.imageView_promotions); PS此代码一直工作正常,从来没有改变任何我向上帝发誓。 我所做的只是将我的Android Studio更新到2.3.1,并将Google支持库更新为25.3.1

什么? 在Kotlin中是否指派任务的左侧?

根据Kotlin文档 ,? 运算符表示“安全调用”,这意味着如果它在方法调用链中使用,则整个链将返回null(如果它使用的值为null)。 但是如果在作业的左侧使用它呢? 由于左侧不是“返回”任何一方,似乎可能有不同的效果。 这是我正在谈论的一个例子: val myObj = SomeObj() myObj?.property = SomeClass.someFunc() // What does ?. do in this context?

Kotlin自定义对话框指定为非null的参数

我得到这个错误: 引起:java.lang.IllegalArgumentException:指定为非null的参数为null:方法kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull,参数savedInstanceState 当我试图在Kotlin中膨胀自定义对话框时,我得到了我在对话框中的super.onCreate行上面写的错误。 对话框代码是: class Custom_Dialog_Exit_App(var activity: Activity)// TODO Auto-generated constructor stub : Dialog(activity, R.style.full_screen_dialog) { override fun onCreate(savedInstanceState: Bundle) { super.onCreate(savedInstanceState) requestWindowFeature(Window.FEATURE_NO_TITLE) setContentView(R.layout.custom_dialog_exit_app) activity.window!!.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT) initView() } fun initView() { initClicks() } fun initClicks() { } } 和init是: val omer = Custom_Dialog_Exit_App(this@MainActivity) omer.show() 请帮忙

这个错误是什么意思,当从java代码转换到通用的kotlin,单T后禁止?

试图将一些java代码转换为kotlin,并与genericstypes的问题。 这里的一个示例是Danny Preussler的Bundles和ViewModel的post的Java代码: 这里 class BundleAwareViewModelFactory implements ViewModelProvider.Factory { private final Bundle bundle; private final ViewModelProvider.Factory provider; public BundleAwareViewModelFactory(@Nullable Bundle bundle, ViewModelProvider.Factory provider) { this.bundle = bundle; this.provider = provider; } @SuppressWarnings(“unchecked”) @Override public T create(final Class modelClass) { T viewModel = (T) provider.create(modelClass); if (bundle != null) { viewModel.readFrom(bundle); } return viewModel; } } […]

我的TextView看不到

我想在屏幕上看到一个Button对象,一个TextView对象和一个MyView对象。 但是只能出现Button对象和MyVıew对象。 我认为,MyView与TextView重叠(在TextView上方)。 因为如果我不添加( b.addView(a); ) MyView对象到我的布局, Button和TextView对象出现在屏幕上。 但是,如果我添加( b.addView(a); )MyView,TextView不见了。 我怎么解决这个问题? MyView.java文件: package com.example.mehmet.catchtheball; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View; public class MyView extends View { public MyView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(Color.WHITE); canvas.drawPaint(paint); paint.setColor(Color.parseColor(“lightGray”)); canvas.drawCircle(500, 500, 150, […]