Tag: anko

预期的typesID资源

我正在使用ANKO建立简单的项目。 当我尝试为EditText设置id时,出现以下错误。 确保传递给API的资源ID是正确的types; 例如,调用Resources.getColor(R.string.name)是错误的。 import android.support.v7.app.AppCompatActivity import android.os.Bundle import org.jetbrains.anko.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) relativeLayout { editText{ id = 1 } } } }

如何通过自定义的webView取代webView?

我有我的活动只包含一个webView。 活动写在Kotlin上: class MyActivity : AppCompatActivity() { @SuppressLint(“NewApi”) override fun onCreate(savedInstanceState: Bundle?) { // some code here verticalLayout { webView {//replace this by custom webView (ObservableWebView) setOnLongClickListener(object : View.OnLongClickListener { override fun onLongClick(v: View): Boolean { return true } }) } } } } 另外我有自定义的webView – ObservableWebView.java: public class ObservableWebView extends WebView { // some […]

从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内工作。

Anko floatingActionButton缺失或冲突的依赖关系

下面这个稍微过时的教程 ,我卡住试图使用org.jetbrains.anko.design.floatingActionButton 。 错误是: 无法访问类“android.support.design.widget.FloatingActionButton”。 检查您的模块类路径是否存在缺失或冲突的依赖关系。 build.gradle(Project) buildscript { ext.kotlin_version = ‘1.1.50’ ext.anko_version = ‘0.10.1’ repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.0.0-beta6’ classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } build.gradle(App) apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-android-extensions’ android { […]

使用Anko协程扩展的正确方法是什么?

所以我正在从RxJava移植一个示例应用程序到Kotlin / Anko Corountines,我想知道如果我正在做它最好的(第一)方法: fun getPopulationList() { val ref = asReference() async(UI) { try { ref().setCurrentState(ViewState.State.LOADING) val background = bg { repository.populationResponse().execute().body() } ref().let { it.response = background.await() it.mvpView?.onGetData(it.response) it.setCurrentState(ViewState.State.FINISH) } } catch (e: Exception) { e.printStackTrace() ref().mvpView?.onError(e) } } } 我正在使用MVP架构,其中我的Presenter基类有一个CompositeSubscription和在onDestroy的片段或活动方法简单退订,并清除CompositeSubscription对象。 但是我想知道如果从asReference()函数是相同的,没有必要保存一个Deferred的列表,然后迭代它并逐个取消。 顺便说一句,如果我添加一个Thread.sleep(5000)来模拟一个大事务,并销毁碎片,我可以在logcat中看到的HTTP响应即使片段不可见/销毁,而RxJava没有发生,所以我想我我没有正确使用。

如何防止对话(警报)在您使用Anko触摸外部或后退时关闭

我正在用kotlin和anko创建一个警报/对话框(下面的代码),但是当你敲门或者按回来关闭它。 这是代码 alert(“TITLE”) { title(“Text”) positiveButton(“Ok”) { action() } }.show() 这里是如何解决方案将在Java(没有使用anko太) dialog.setCancelable(false); // for prevent on back pressed dialog.setCanceledOnTouchOutside(false); // for prevent on touching outside 任何想法如何使用kotlin和anko实现这一点? 谢谢 :)

Anko的uiThread偶尔没有被解雇

我目前正在使用Anko的doAsync来处理异步任务。 具体来说,我用它来解析数据对象的ArrayList的响应json ,如下所示: // Asynchronously parse server response doAsync { val itemlist = parseResponse(response) uiThread { Otto.INSTANCE.post(UpdateRedeemedVoucherViewsEvent(itemlist)) } } 大多数情况下,就像在Google Pixel(Android 8.0.0)上一样 ,这个工作很好。 我的对象被解析,并且Otto总线事件将在ui线程上被延迟。 但在极少数情况下,这个过程失败了。 到目前为止,我注意到ui线程调用不会在Galaxy S5 Mini(Android 5.1.1)上被触发。 虽然我的数据没有任何错误或exception被解析, uiThread括号中的代码片段将不会被执行。 到目前为止,我无法确定这种行为的任何理由。 没有logcat日志,什么都没有。 这个错误将不会出现。 有没有人与kotlin和/或Anko有相同或相似的问题? 更新:我自己find了一个解决方案,请参阅下面的答案以获得解释。

inheritance基本活动的导航抽屉

所以这个想法是通过导航抽屉来切换活动。 我创建了基本活动( TestActivity )与导航抽屉,它工作正常(它切换到其他活动正确)。 我希望所有活动都具有相同的抽屉式导航栏,但每个活动都需要有自己的应用栏。 但是我得到这个错误: 这个Activity已经有一个窗口装饰提供的操作栏。 请勿在您的主题中请求Window.FEATURE_SUPPORT_ACTION_BAR并将windowActionBar设置为false以代替使用工具栏。 。 它显示了当我打开一个基于TestActivity的活动。 我试图改变这第二个活动的主题为android:theme=”@style/AppTheme.NoActionBar”但是当我这样做,它只是停留在没有操作栏,它不会从TestActivityinheritance任何东西。 我正在使用Kotlin和Anko库。 open class TestActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { val Ui by lazy { NavDrawerComponent() } lateinit var drawer: DrawerLayout lateinit var toogle: ActionBarDrawerToggle lateinit var navigation: NavigationView lateinit var toolbar: Toolbar override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_test2) Ui.setContentView(this) toolbar = Ui.customToolbar setSupportActionBar(toolbar) drawer […]

安子的主题和风格

有没有办法用Anko添加主题和样式到Layout? 谢谢

SwipeRefreshLayout和RecyclerView之间的差距

如何消除这两者之间的空隙? RecyclerView现在开始靠近屏幕的一半,从第一个元素到工具栏都有空白区域。 (只有当我添加足够的物品recyclerview开始顶部)。 我正在使用Kotlin和AnkoLayouts。 override fun createView(ui: AnkoContext): View = with(ui) { return relativeLayout { lparams(width = matchParent, height = matchParent) addItemButton = floatingActionButton { imageResource = android.R.drawable.ic_input_add }.lparams { margin = dip(10) alignParentBottom() alignParentEnd() alignParentRight() gravity = Gravity.BOTTOM or Gravity.END } swipeRefreshLayout = swipeRefreshLayout { rv = recyclerView { layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, true) […]