Tag: 安卓

尝试访问其他活动时应用程序崩溃

主要活动: val turminha : Turma = this.abrirArquivo() recycler_view.layoutManager = LinearLayoutManager(this) recycler_view.adapter = AlunoAdapter(this,turminha.alunos) floatingActionButton.setOnClickListener({ val i = Intent(this, ActivityAddAluno::class.java) i.putExtra("turma", turminha) startActivity(i) }) ActivityAddAluno class ActivityAddAluno : AppCompatActivity() { var i = getIntent() private var turma = i.getSerializableExtra("turma") as Turma override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_add_aluno) mBtnSalvarAluno.setOnClickListener{ var name = mEdtNomeAluno.text.toString() var matricula = […]

视图不会显示在ViewPager中

我有一个简单的ViewPager支持一个PagerAdapter,但对于我实例化的视图永远不会显示在视图分页器。 我有一个要求纯粹在代码中开发用户界面。 所以我不能在instantiateItem方法中膨胀一个xml布局。 不幸的是,几乎所有我看到的例子都是膨胀的XML,这显然是行不通的。 所以我有一个PagerAdapter,(我不想使用片段)与ViewPager如下。 适配器需要一些数据 val viewAdapter = ViewPagerAdapter(data) viewPager.adapter = viewAdapter ViewPagerAdapter看起来像这样: inner class ViewPagerAdapter(val data: List<Item>) : PagerAdapter() { override fun isViewFromObject(view: View?, obj: Any?): Boolean { return obj == view } override fun getCount(): Int { return data.count() } override fun instantiateItem(container: ViewGroup?, position: Int): Any { val rootLayout = LinearLayout(container?.context) […]

我可以通过功能参数发送扩展功能吗?

下面我有一些扩展函数的功能。 fun EditText.setEmailValidationListener(): TextWatcher { val textWatcher = object : TextWatcher { override fun beforeTextChanged(text: CharSequence?, start: Int, count: Int, after: Int) { } override fun onTextChanged(text: CharSequence?, start: Int, before: Int, count: Int) { } override fun afterTextChanged(text: Editable?) { validateEmail() } private fun validateEmail(): Boolean { if (validateEmailFormat(showError = false)) { getParentInputLayout()?.isErrorEnabled = […]

TransformException重复org / intellij / lang / annotations / Identifier.class的条目

我得到这个错误 Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. > com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/intellij/lang/annotations/Identifier.class 它开始后,我添加compile "com.wefika:flowlayout:0.4.0"我的gradle 这是我的gradle文件 packagingOptions { exclude 'META-INF/NOTICE' // will not include NOTICE file exclude 'META-INF/LICENSE' // will not include LICENSE file // as noted by @Vishnuvathsan you may also need to include // variations on the file name. It depends on your dependencies. […]

如何使用RemoteViews在Android小部件中旋转图像

从我的理解你不能旋转使用RemoteViews的小部件中的图像 由于他们也亵渎了模拟时钟部件,你怎么做一个简单的模拟时钟小部件使用自己的图像? 我已经在我的小部件中设置了一切,我也有一个计时器,每分钟运行,我只需要旋转分钟拨号和小时拨号相应 一直在环顾四周,无法找到答案 在Widget里面怎么可能呢? 我知道我实际上可以有60个图像的分钟拨号+ 60小时拨号图像,然后交换他们progematicly ..但这只是一个矫枉过正的…是不是有一种方法来实现这个简单的事情,分配人是做 ?

Anko布局 – 区别布局applyRecursively

什么是区分我想要应用的一些观点的最好方法是什么? 例如,我有几个textViews ,不想为他们创建单独的容器(扁平层次!),但我仍然知道一些需要有例如一个特定的textSize,有些需要有特定的颜色。 我应该以特定的方式生成ids吗? 对于一些情况(当一些样式一起使用时),我当然可以组成一个小功能: private fun ViewManager.bigTextView( content: String, init: (@AnkoViewDslMarker TextView).() -> Unit) = textView(content) { init() typeface = medium textSize = 16f } 但什么时候更通用? 我被建议也许标签会做得更好。

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

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

为什么Android Studio 3测试版有Build APK(s)选项而不是Build APK?

我一直在使用Android Studio开发Android应用程序。 我已经安装了Android Studio version 2.33版本,我还有Android Studio 3 beta作为早期的测试人员在官方发布之前进行预览。 我看到了Android Studio 3的改进,如Instant Apps Support , Analysing Apk , Kotlin Language Support 等等,正如这里所解释的 。 在选项卡版本中,导航视图发生了一些变化,在Android Studio 2.33中选择了一个名为Build APK的选项,现在在Android Studio 3测试版中称为Build APK(s) ,作为复数或添加了多个APKs这些可以在下面的图像中看到 这是Android Studio 2.33 这是Android Studio 3测试版 。 我想要获取app-debug.apk时,经常使用此功能。 我已经打开了我的项目在Android Studio 3测试版,并使用相同的功能没有差异的结果,它只是创建我的app-debug.apk像往常一样在文件夹C:\Users\MY_COMPUTER_NAME\AndroidStudioProjects\APP_NAME\app\build\outputs\apk\debug\app-debug.apk作为Android Studio 2.33所做的。 但是我相信这个改变一定是有原因的! 为什么像许多APK一样的复数形式? 我在这里错过了一个很好的功能吗? Android Studio 3测试版可以生成多个APK's ,我不知道该功能,还是只有即时应用的额外APKs ?

(x..x).map在kotlin android中做什么?

一直在网上看一些kotlin的例子,看到以下,我不能完全不知道它在做什么。 (0..6).map{ inflater.inflate(R.layout.test, container) } 我知道这是一个范围,将R.layout.test扩展到容器中,但“.map”的要点是什么? 这只是一个不同的方式来写for (i in 0..6) ?

将函数调用转换为Lambda(SAM)

在一个android程序中,我有以下代码: clockCheckBox.setOnClickListener((object: View.OnClickListener { override fun onClick(view: View): Unit { if (clockCheckBox.isChecked()) enableClocks() else disableClocks() } })) 在Android Studio中,出现了一个工具提示, 这个检查报告了一个匿名对象文字实现一个单一抽象方法的java接口,可以转换成lambda表达式调用。 我试图做到这一点,但我得到的只是语法错误。 你能告诉我正确的语法吗? 我也许应该解释一下,这段代码是在我的activity的onCreate方法中,clockCheckBox是一个局部变量 val clockCheckBox = findViewById(R.id.clockCheckBox) as CheckBox