Tag: 安卓

Kotlin代码如何在Android应用程序中执行,与Java有什么不同?

我正在学习Kotlin,并希望了解编译后的代码是如何执行的,这与Java代码执行Android有什么不同。 我也想知道为什么我们编写MainActivity::class.java ( class.java )来引用类文件。 谢谢!

以编程方式更改可绘制的颜色

我试图通过代码更改白色标记图像上的颜色。 我读过下面的代码应该改变颜色,但我的标记保持白色。 Drawable.setColorFilter( 0xffff0000, Mode.MULTIPLY ) 我错过了什么? 有没有其他的方式来改变位于我res文件夹中的drawables上的颜色?

从资源字符串数组创建ArrayList

我已经声明了ArrayList, var otherSeriesList = ArrayList() 并试图从以下资源获取数据, otherSeriesList = ArrayList(Arrays.asList(resources.getStringArray(R.array.get_other_series))) 但是我得到错误。 请参阅图像 – 我应该如何从资源字符串数组创建ArrayList?

Gradle错误升级到Android Studio 3.0 Beta 1

注意:这似乎是Android插件的问题。 查看相关问题的评论。 构建项目时出现以下gradle错误: Gradle sync failed: Cause: java.lang.NullPointerException at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:98) at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77) at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94) at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255) at java.nio.file.Paths.get(Paths.java:84) at com.android.build.gradle.internal.scope.BuildOutput.getOutputPath(BuildOutput.java:222) at com.android.build.gradle.internal.scope.BuildOutputs.lambda$load$2(BuildOutputs.java:243) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1376) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) … 我还会注意到,我不得不手动设置jdk位置,因为如果我使用捆绑的,那么gradle守护进程将不会启动,抱怨没有处于预期的上下文环境中(而是获取绑定的上下文,而不是获取外部上下文)。 这个配置在金丝雀9上工作(与捆绑的jdk)。

以下类的超types无法解析

我有android app在kotlin这是给我这个错误.. 错误:以下类的超types无法解析。 请确保您在类路径中具有所需的依赖关系:com.google.firebase.auth.FirebaseAuth,未解析的超types:com.google.android.gms.internal.aad 和这个 错误:执行任务’:app:compileDebugKotlin’失败。 编译错误。 查看日志了解更多详情 这是我的应用程序模块 apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { compileSdkVersion 26 defaultConfig { applicationId “appname” minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { implementation fileTree(dir: ‘libs’, include: […]

从Fragment调用Anko toast()方法会导致java.lang.NoSuchMethodError

当我从Android Fragment调用toast(“Toast的消息文本”)时出现以下错误: java.lang.NoSuchMethodError:无虚方法getActivity()Landroid / app / Activity; 在类Landroid / support / v4 / app / Fragment中; 或者它的超类(“android.support.v4.app.Fragment”声明出现在文件类名索引中) 我使用的是Anko v0.9.1和Kotlin 1.0.6 什么可能是这次崩溃的原因? 标准的Android吐司工作得很好。 另外Toast()函数在Activity内工作。

Kotlin从Recyclerview新的片段

我试图从当前片段的RecyclerView适配器打开一个新的片段。但我不知道如何设置onClickListener ..这是我的代码 internal class ContentAdapter constructor (private var dataList: ArrayList) : RecyclerView.Adapter(), View.OnClickListener { override fun onClick(v: View?) { val manager = activity.supportFragmentManager // I cannot resolve activity here val transaction = manager.beginTransaction() val book = IndividualBook() transaction.add(android.R.id.content, book, “IndividualBook”) transaction.addToBackStack(null) transaction.commit() } override fun getItemCount(): Int = dataList.size override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): […]

Android:将数据发送回MainActivity

我有3个活动:Main – > Drink – > Drinkalcohol我按照顺序移动它们,但我想从DrinkAlcohol中得到结果并将它们发送到Main。 在DrinkAlcohol中,我正在使用SetResult,并在Main中使用onActivityResult 。 但是我被困在DrinkAlcohol页面,我做错了什么? DrinkAlcohol XML按钮 DrinkAlcohol gotoMainfunction: fun gotoMain(view: View){ val radioButtonID = mRg?.checkedRadioButtonId val rb = findViewById(radioButtonID!!) val checkedValue = rb.text.toString().replace(“%”,””).toDouble() val asu = mSize*checkedValue/60 logDrink(asu) val intent = Intent(this, MainActivity::class.java) val returnIntent = this.intent returnIntent.putExtra(“asu”, asu) setResult(Activity.RESULT_OK, returnIntent) } MainActivity接收代码: override fun onActivityResult(requestCode: Int, resultCode: Int, […]

在Android中设置本地化video查看uri

我有一个video的本地化版本,我想在VideoView播放,但我有一些问题搞清楚如何正确播放本地化的版本。 这个答案告诉我本地化一个raw资源,我应该把本地化资源放在raw-es 。 这个答案告诉我,要使用VideoView#setVideoUri我应该像这样创建一个uri: Uri.parse(“android.resource://${context.packageName}/${videoResId}”) (以上是Kotlin字符串插值。) 虽然我似乎无法find关于如何为本地化版本创建uri的任何信息。 创建的uri始终引用默认的原始资源。 我总是可以把它们放在不同名称的raw文件夹中,然后添加一些if检查,但是如果可能的话,我想这样做是正确的。

读取参数字段值

这可能是noobiest noob问题,但我无法find答案的任何地方 – 也许是因为我有我的术语错了,也许是因为这是不可能的。 我想要做的是确定Android中的计时器小部件是否正在运行,但更常见的问题是: 如何以编程方式读取IDE /调试器中可以看到的字段值? 例如,如果我在启动计时器后设置断点,则在variables列表中(或者在计算天文台时),我可以看到所有以字母“m”开头的有用信息。 例如,mVisible,mRunning,mStarted,但我不能为我的生活找出如何访问它们。 我想知道在Java和Kotlin中这是否可能。 我附上了一个我正在谈论的屏幕抓图:) 谢谢,Iain