Tag: 安卓

如何在Android中使用SIM卡获取手机号码使用kotlin语言编程?

我尝试使用下面的一段代码,但它没有给我的数字。 您的信息将是很大的帮助。 代码如下: val subscription =SubscriptionManager.from(context).activeSubscriptionInfoList for (subscriptionInfo in subscription) { val number = subscriptionInfo.number Log.e(“Test”, ” Number is ” + number) }

Dagger2:注入RxJava2函数

我一直在关注Hannes Dorfman的MVI教程 ,他提到通过Dagger注入一个函数让代码看起来类似于下面的代码: 注入function: @Provides @Singleton fun providesModelFunc( searchEngine: SearchEngine): Function1<Observable, Observable> = { stringObservable -> stringObservable.startWith(“”).flatMap { queryString -> searchEngine.search(queryString) } } 函数( modelFunc )在类中使用: subscription = modelFunc( // model() view.searchIntent() // intent() ) .observeOn(AndroidSchedulers.mainThread()) .subscribe( // view() view.showData(), view.showError() ) 我一直在试图实现一个类似的东西,但不是在Kotlin,到目前为止在Module的function建设罚款: @Provides @Singleton Function<Observable, Observable> providesSearchFunction(DiscogsInteractor discogsInteractor) { return searchViewQueryTextEventObservable -> searchViewQueryTextEventObservable.flatMap(queryString -> […]

如何使“this”成为Listener的参考,而不是Kotlin中的Activity?

我有一个类似于以下示例的情况,当我调用它时引用了Activity而不是OnClickListener 。 有没有办法让这个听众的参考? private fun onClick() = View.OnClickListener { // How to make ‘this’ a reference of OnClickListener instead of the Activity }

在线程中运行的Kotlin使用的值不同于传递的值

我想在Android上运行一个线程,使用下面的代码: override fun onTouchEvent(event: MotionEvent?): Boolean { Log.d(“CustomImage”, ” touched : ${event!!.x}, ${event.y}”) Thread(Runnable { if(threadRunning) { return@Runnable } threadRunning = true consumeTouchEvent(event) }).start() return super.onTouchEvent(event) } private fun consumeTouchEvent(event: MotionEvent) { Log.d(“CustomImage”, ” consumeTouchEvent x,y : ${event.x}, ${event.y}”) Thread.sleep(1000) //long running task threadRunning = false } 触摸视图后,这是相应的日志: 01-03 00:17:05.654 8122-8122/me.exp D/CustomImage: touched : 960.0, […]

Kotlin当多个值不工作时值是一个Android视图

我实现了anko递归应用的函数: fun applyTemplateViewStyles(view: View) { when(view) { is EditText, TextView -> { …. } } } 我收到一个错误,说“函数调用’TextView(…)”预计“ 因为我可以写一个子句,如0,1,为什么我不能做一个Android视图相同?

Kotlin Android扩展缓存合成属性还是每次调用findViewById()?

如果我有一个简单的自定义视图: myitem.xml 访问一个kotlinx syntentic属性: import kotlinx.android.synthetic.main.myitem.view.* view.toolbar.text = “Some text” 它在内部生成对findByViewID()的调用。 所以我的问题是: 结果缓存为自定义视图像活动或每次每次调用findByViewID被调用? 性能方面的原因,答案非常重要。

Android Studio 3无法建立kotlin片段

我试图使用Android Studio 3.0与我现有的项目Kotlin。 我用kotlin创建了一个片段。 我试图在我的Java活动中使用kotlin片段。 但每次我尝试运行它,我都会得到 Error:(209, 5) error: cannot find symbol class BlankFragment BlankFragment.kt import android.content.Context import android.net.Uri import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup class BlankFragment : Fragment() { // TODO: Rename and change types of parameters private var mParam1: String? = null private var mParam2: String? = null private […]

在循环中的图像之间旋转

我创建了一个按钮来在循环模式下切换两个图像,但我无法使它工作。 当我第二次按下按钮时,图像不会发生变化。 这是我的代码: 科特林: IBRotate.setOnClickListener() { body.setTag(1) if(body.getTag() == 1) { body.setImageResource(R.drawable.back_woman) body.setTag(2) } else if(body.getTag() == 2) { body.setImageResource(R.drawable.front_woman) body.setTag(1) } } XML:

在intellij 16中创建Android应用时,Gradle同步失败

我在ubuntu 14.04 LTS上使用Intellij IDEA 2016.3.4开发android应用程序。 错误gradle sync failed, missing android extension is occurring. 我使用sdk平台25.0.2,kotlin版本1.0.6。 这是抛出一个错误的行: apply plugin: ‘kotlin-android’ 并且错误信息是: 错误:(16,0)名称为“android”的扩展名不存在。 当前注册的扩展名:[ext]打开文件 我迷路了。 请任何人都可以帮我。 详细的解决方案将不胜感激! 编辑1:这是build.gradle代码 apply plugin: ‘com.android.application’ android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { applicationId “com.example.gogol.myapplication” minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false […]

我如何更新Android工作室2.3.2在Ubuntu的3.0?

其实我想尝试需要android studio 3.0的kotlin语言,但我有2.3.2。 那么如何更新Ubuntu上的东西呢?