kotlin列表上的filterNotNull具有genericstypes

这是工作: val values: List = listOf(“a”, null, “b”).filterNotNull() 这不工作: fun nonNullValues(values: List): List = values.filterNotNull() 编译器抱怨genericstypes: Error:(8, 63) Kotlin: Type parameter bound for T in fun kotlin.collections.Iterable.filterNotNull(): kotlin.collections.List is not satisfied: inferred type A is not a subtype of kotlin.Any 这一个工作: fun nonNullValues(values: List): List = values.filterNotNull() 有人可以请解释我为什么我需要告诉编译器,A是Any的子types? 我在想每个types都是Any的子types… 谢谢!

ListView可以出现在Activity中,但不能出现在Fragment中

ListView可以出现在Activity但不能出现在Fragment但是我在Android Studio 3.0中使用Kotlin中的相同代码? 这是我的片段代码: class testFrag : Fragment() { var adapter : mo3dAdapter?=null var listOfMkabala = ArrayList() override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater!!.inflate(R.layout.fragment_test, container, false) listOfMkabala .add ( MeetingDetails(” nour1″, “ahmed1” , “aya1″)) listOfMkabala .add ( MeetingDetails(” nour2″, “ahmed2” , “aya2″)) listOfMkabala .add ( MeetingDetails(” nour3″, “ahmed3” , “aya3”)) […]

不能建立项目

我试图组装我的项目,但我只是得到一个错误: Error:Execution failed for task ‘:basetools:processDebugAndroidTestResources’. > No slave process to process jobs, aborting 我没有改变我的gradle文件中的任何东西,但突然得到这个错误。 我已经尝试无效cahces并重新启动,重建 我该怎么办才能解决这个问题? 这是我的项目的build.gradle buildscript { ext.kotlin_version = ‘1.1.51’ apply from: ‘scripts/dependencies.gradle’ apply from: ‘scripts/testDependencies.gradle’ repositories { google() mavenLocal() jcenter() maven { url ‘https://maven.fabric.io/public’ } maven { url “https://maven.google.com” } maven { url ‘https://jitpack.io’ } } dependencies { classpath plugin.android classpath […]

Google Assistant SDK拒绝认证频道为“UNAUTHENTICATED”

我正在尝试在Kotlin为我的Raspberry Pi创建一个Google智能助理。 我使用本IETF草案中提出的所谓“设备流程”实现了OAuth流程,因为我的Raspberry稍后将公开一个Web界面,并且没有任何输入设备或图形界面。 谷歌确实支持这个流程(当然),我最终得到用户同意的有效访问令牌。 为了测试的目的,我也尝试了一个默认授权流程,只是将用户转发到本地主机,因为它通常已经完成,但并没有解决问题。 我使用这个工具测试了访问令牌,并确认了范围和令牌的有效性。 所以令牌本身应该工作。 范围是: https : //www.googleapis.com/auth/assistant-sdk-prototype(如此处所述)这实际上并不指向任何有效的Web资源,而是在每个文档中引用。 然后,我尝试使用gRPC提供的Java存根将音频数据流式传输到助理SDK端点。 如第三方参考实现作为指导如何认证rpc存根。 但是这个参考实现和我自己的都不起作用。 他们都报告 io.grpc.StatusRuntimeException: UNAUTHENTICATED: Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project. 存根以这种方式进行validation: embeddedAssistantStub.withCallCredentials( MoreCallCredentials.from(OAuth2Credentials .newBuilder() .setAccessToken( myAccessToken, myAccessTokenExpirationDate)) .build())) 并且认证的请求被执行如下: val observer = authenticatedEmbeddedAssistantStub.converse(myStreamObserverImplementation) observer.onNext(myConfigConverseRequest) while(more audio data frames […]

如何将intArray转换为Kotlin中的ArrayList ?

从 val array = intArrayOf(5, 3, 0, 2, 4, 1, 0, 5, 2, 3, 1, 4) 我需要转换为ArrayList 我曾尝试array.toTypedArray() 但它转换为Array而不是

将支持库更新到27.0.0后,我的片段中有多个错误

将支持库从v-26.1.0更新到v-27.0.0之后将碎片中的多个错误更新。 这里是一些这些错误的列表: 错误:智能转换为“捆绑”是不可能的,因为“参数”是一个可以改变的可变属性。 错误:’onCreateView’覆盖任何东西 错误:’onViewCreated’覆盖任何东西 错误:types不匹配:推断types是View? 但是View是预期的 错误:types不匹配:推断types是上下文吗? 但上下文是预期的 错误:types不匹配:推断types是FragmentActivity? 但上下文是预期的 错误:types不匹配:推断types是FragmentActivity? 但上下文是预期的 从android工作室的模板为空片段。 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (arguments != null) { mParam1 = arguments.getString(ARG_PARAM1) mParam2 = arguments.getString(ARG_PARAM2) } } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater!!.inflate(R.layout.fragment_blank, container, false) } override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { […]

什么是onCreateOptionsMenu(菜单菜单)

什么是两个参数菜单和菜单方法onCreateOptionsMenu(Menu menu)以及如何使用此方法。 我有另一个问题,为什么使用this参数 Intent intent = new Intent(this, DisplayMessageActivity.class);

Google地图视图泄漏非常多

我以前使用过MapFragment,但是我的需求很慢。 MapView几乎是即时的,完全符合我的需求。 但是他们都有一个共同点: 巨大的内存泄漏。 我已经“销毁”了MapView,就像我应该退出活动时那样,它仍然会泄漏。 MapView处于一个频繁打开和关闭的活动,并且会再次快速打开。 这可能是问题吗? 这里是我的hprof文件的一些screeenshots(我宁愿不上传hprof文件,由于可能的敏感信息): 我有多个泄漏,他们指向相同的类。 但是,我正在使用一个自定义的类,这个时候不需要,我将恢复到默认的MapView。

编译失败,出现模糊的错误

我的gradle构建失败,下面的例外: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ‘:app:compileReleaseJavaWithJavac’. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336) at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199) at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) […]

如何清除焦点和删除Android上的键盘?

我有一个EditText控件。 如果我点击它,softkeyboard会popup,但是当我按“enter / ok / return”,然后EditText控件它仍然有焦点和键盘。 如何关闭软键盘并从中删除焦点?