调用CordaRPCOps.startFlow时发生IllegalFlowLogicException

在一个CorDapp中,我定义了以下流程: @InitiatingFlow @StartableByRPC class EchoFlow(private val msg: String): FlowLogic() { override fun call(): String { return msg } } 然后,我将CorDapp部署到一个节点,并尝试运行它,如下所示: val result = proxy.startFlow { EchoFlow(“msg”) }.returnValue.getOrThrow() 但是,我收到以下例外情况: Exception in thread “main” net.corda.core.flows.IllegalFlowLogicException: FlowLogicRef cannot be constructed for FlowLogic of type com.template.EchoFlow due to missing constructor for arguments: [] 我应该如何使用CordaRPCOps.startFlow调用流?

为什么可以在子types的重载成员函数中省略默认值?

正如在标题中所述:为什么可以在子types的重载成员函数中省略默认值? 这是正常的还是预期的? interface Foo { fun bar(parameter: Int = 1) } class Baz : Foo { override fun bar(parameter: Int) { // OK println(parameter) } } val baz = Baz() baz.bar() // OK baz.bar(2) // OK 在Foo是一个类的情况下也是同样的行为。

在IntelliJ调试器中,符号的后缀“$ iv”是什么意思?

在IntelliJ调试窗口中,一些variables的名称附有$ iv: IntelliJ试图传达的信息是什么? 快速浏览文档并没有给出答案。

@Name注释exception

我正在用Kotlin Dagger 2和@Named注解( Java使用相同的代码正常工作) Error:[dagger.android.AndroidInjector.inject(T)] @javax.inject.Named(“LOGGING_INTERCEPTOR”) okhttp3.Interceptor cannot be provided without an @Provides-annotated method. 这是我的API模块代码的一部分: @Provides @Named(LOGGING_INTERCEPTOR) fun provideLoggingInterceptor() = HttpLoggingInterceptor().apply { level = HttpLoggingInterceptor.Level.BODY } @Provides @Named(CONNECTIVITY_INTERCEPTOR) fun provideConnectivityInterceptor(): Interceptor = ConnectivityInterceptor() @Singleton @Provides fun provideOkHttpClient( @Named(CONNECTIVITY_INTERCEPTOR) connectivityInterceptor: Interceptor, @Named(LOGGING_INTERCEPTOR) loggingInterceptor: Interceptor ): OkHttpClient = OkHttpClient.Builder() .connectTimeout(CONNECT_TIMEOUT, TimeUnit.SECONDS) .writeTimeout(WRITE_TIMEOUT, TimeUnit.SECONDS) .readTimeout(READ_TIMEOUT, TimeUnit.SECONDS) .addInterceptor(connectivityInterceptor) .apply […]

JavaFX的。 如何使用FXML编辑TableViewCell?

我想只使用fxml使TableViewCell。 我该怎么做。 现在我有一个模型类DuplicateFileInfo class DuplicateFileInfo(var id: Long, var path: String, var editableField: String?) {} 我有TableView 在这种情况下,我有可编辑的表格视图。 但编辑完成后该值不会设置为模型。 是否有可能使这项工作没有codding?

运行多个测试(Kotlin)时,只有第一个测试通过TestScheduler,

我试图在Kotlin中使用RxJava在MVP体系结构中测试我的演示者。 我已经创建了一个测试规则,用TestScheduler替换通常的调度程序来测试异步请求: class TestSchedulerRule : TestRule { val testScheduler = TestScheduler() override fun apply(base: Statement, d: Description): Statement { return object : Statement() { @Throws(Throwable::class) override fun evaluate() { RxJavaPlugins.setInitIoSchedulerHandler { testScheduler } RxJavaPlugins.setInitComputationSchedulerHandler { testScheduler } RxJavaPlugins.setInitNewThreadSchedulerHandler { testScheduler } RxJavaPlugins.setInitSingleSchedulerHandler { testScheduler } RxAndroidPlugins.setInitMainThreadSchedulerHandler { testScheduler } try { base.evaluate() } finally { […]

Android Studio Bug说新的未解决的参考

我试图为我的朋友做一个应用程序,这个错误不会消失。 我需要在3月6日之前完成应用程序,如果我不修复这个错误并完成剩下的工作,我不打算这样做。 此外,如果有一种方法,使nav_view不是一个特定的nav_,但每个nav_有。 所以我可以从nav_donate跳到nav_prayers或nav_donate到nav_events。 错误在页面的底部 package com.naifcenter.mohammad.naifcenter import android.app.FragmentManager import android.os.Bundle import android.support.design.widget.Snackbar import android.support.design.widget.NavigationView import android.support.v4.view.GravityCompat import android.support.v7.app.ActionBarDrawerToggle import android.support.v7.app.AppCompatActivity import android.view.Menu import android.view.MenuItem import kotlinx.android.synthetic.main.activity_home_page.* import kotlinx.android.synthetic.main.app_bar_home_page.* class HomePage : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home_page) setSupportActionBar(toolbar) fab.setOnClickListener { view -> Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG) .setAction(“Action”, […]

在构造函数中调用类的方法作为默认参数

我正在构造一个类,然后试图调用该类的成员方法作为其中一个构造函数参数的默认值。 为什么不是有效的Kotlin? // unresolved reference: defaultText class MyThing(val text: String = defaultText()) { fun defaultText() = “hi” } 在Java和Kotlin中使用两个独立的构造函数是可能的,但是我失去了默认参数的简洁性。 class MyThing { private val text: String constructor(text: String) { this.text = text } constructor() { this.text = defaultText() } private fun defaultText(): String { return “hi” } }

如何检测SearchView是否扩展?

我有这样的菜单项: @Override public boolean onCreateOptionsMenu( Menu menu ) { getMenuInflater().inflate( R.menu.passenger, menu ); searchItem = menu.findItem( R.id.action_search ); searchView = (SearchView)MenuItemCompat.getActionView( searchItem ); searchView.setSubmitButtonEnabled( false ); return super.onCreateOptionsMenu( menu ); } 我想检查searchView是否展开。 我试过searchItem.isActionViewExpanded()和searchView.isHovered()但没有一个工作。 我错过了什么? TIA

404 – 使用Retrofit2和RXJava2调用API时

我有一个与提到的libs下面调用API的问题 我的依赖: compile ‘com.squareup.retrofit2:retrofit:2.1.0’ compile ‘com.squareup.retrofit2:converter-gson:2.1.0’ compile ‘com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0’ compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’ compile ‘io.reactivex.rxjava2:rxjava:2.0.1’ 提供翻新实例的代码 @Provides @Singleton RxJava2CallAdapterFactory provideRxJavaCallAdapter(){ return RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()); } @Provides @Singleton Retrofit provideRetrofit(Gson gson, OkHttpClient okHttpClient, RxJava2CallAdapterFactory rxJavaCallAdapterFactory){ return new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create(gson)) .addCallAdapterFactory(rxJavaCallAdapterFactory) .client(okHttpClient) .build(); } Api界面 @GET(“form/{slugOrUUID}”) Observable getForumRx(@Path(“slugOrUUID”) String slugOrUUID); 最后放到我打电话给REST的地方 ForumService forumService = retrofit.create(ForumService.class); Observable photography = forumService.getForumRx(“sample”); photography.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) […]