13 不积跬步_图腾

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 2k+

Android开发问题备忘录

Android 使用 databinding:view must have a tag这个坑是databinding编译时的问题,将xml布局文件重命名之后,就解决了如:activity_main.xml 改为activity_main_2.xml

2020-10-20 15:21:17

Fragment already added 问题

按照常规Tablayout + Viewpager + Fragment然后报错Fragment already added 。根据错误信息找到FragmentManager中, makeActive(fragment); if (!fragment.mDetached) { if (mAdded.contains(fragment)) { throw new IllegalStateException("Fragment .

2020-10-16 11:06:24

Android知识点备忘录

Android Fragment onCreat() 方法是在Activity onCreat 时候调用。onCreateView 调用多次。

2020-10-13 09:42:09

ArrayList和LinkedList的区别

从实现看:LinkedList底层实现是双链表 ArrayList底层实现是动态数组从扩容机制看:LinkedList不存在扩容 的说法,因为是链表结构。 ArrayList底层是动态数组存在扩容说法,默认的数组大小是10,在检测是否需要扩容后,如果扩容,会扩容为原来的1.5倍大小。原理就是把老数组的元素存储到新数组里面从优点看:ArrayList的查找性能好,因为底层是数组,适用于查找元素。 LinkedList底层是双链表,对于插入或者删除元素来说,操作方便,性能高。从缺点看:

2020-09-09 09:07:45

Android学习——解决NestedScrollView 布局不能撑满屏幕的问题

发现使用NestedScrollView嵌套使其布局超出屏幕时滑动;想让最后一个子布局位于屏幕最底方;各种方法都不行,后来发现NestedScrollView 的 子布局不能撑满整个屏幕,而是包裹内容,按照wrap_content来计算,哪怕写的 match_parent也没用;解决办法:添加属性:android:fillViewport="true"<...

2020-03-31 14:36:11

Android学习——在 Html.fromHtml 中的换行处理

你可以通过做这样的事情在您的文本替换所有 \r\n 和空格://message is your string.message = message.replace("\r\n","<br />");message = message.replace(" "," ");termsAndConditionsTextView.setText(Html.fromHtml(messa...

2020-03-27 11:05:36

Android学习—— TextView空格占位符以及一些其他占位符汇总

  == 普通的英文半角空格  ==   ==   == no-break space (普通的英文半角空格但不换行)  == 中文全角空格 (一个中文宽度)  ==   == en空格 (半个中文宽度)  ==  ...

2020-03-24 14:54:04

Android 9.0 WebView多进程问题

问题概述问题描述Android 9.0及以上版本,多进程使用WebView会引发程序崩溃。官方说明在 Android 9 中,为改善应用稳定性和数据完整性,应用无法再让多个进程共享一个 WebView 数据目录。如果您的应用必须在多个进程中使用 WebView 实例,则您必须先使用 WebView.setDataDirectorySuffix() 方法为每个进程指定唯一的数据目录...

2019-12-13 15:56:32

《Android 高性能编程》—— @IntDef 注解,减缓枚举的使用

在Android开发中官网不推荐使用枚举enums。为什么呢?占用内存多(Enums often require more than twice as much memory as static constants.)。 Android中当你的App启动后系统会给App单独分配一块内存,App的DEX code、Heap以及运行时的内存分配都会在这块内存中。例如:public cl...

2019-12-11 16:00:09

Java 8th 新特性:lambda表达式

今天看到别的人代码private Runnable autoPageRunnable;autoPageRunnable = this::nextPage;private void nextPage() { runOnUiThread(() -> { screenOffTimerStart(); if (mPageLoader != nul...

2019-10-11 15:53:54

“CANNOT RESOLVE SYMBOL”但编译正确,可以运行

Android Studio 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 Android Studio,重新 sync gradle,Clean build 都没有用。多半是因为 Android Studio 之前发生了错误,某些 setting 出了问题。解...

2019-09-25 15:46:50

Kotlin for循环的几种使用方法

在Kotlin中想遍历1-100的数值可以这样写:for (index in 1..100){ print(index) }这样写是正序遍历,如果想倒序遍历就该使用标准库中定义的downTo()函数:for (index in 100 downTo 1){ print(index) }想不使用1...

2019-09-12 13:10:42

Android 学习——获取某个View宽高信息的四种方法

如果我们想在activity已启动时去获取某个View的宽、高,实际上在onCreate,onStart,onResume中均无法正确得到某个View的宽高信息。因为View的measure过程和activity的生命周期方法不是同步执行的,因此无法保证Activity执行了onCreate,onStart,onResume时,某个View已经测量完毕,一旦View没有测量完毕,那么我们此时获得的...

2019-09-09 17:28:05

Calendar 使用

public class DateTest { public static Date geLastWeekMonday(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(getThisWeekMonday(date)); cal.add(Calendar.D...

2019-09-06 19:33:12

Java Calendar

###周一作为第一天也许你碰到过这种业务,需要根据星期几来做某种操作,例如,每周二,上周二等。Java提供了Calendar类可以实现这些需求,不过这里有个坑,值得注意。国外都是以星期日作为每周的第一天,而我们都是以周一作为第一天,所以如果你不注意的话,在周日的时候获取上周的某个星期几,或者这周的某个星期几就会出现错误。因为Java就是默认以星期日作为一周的第一天。还好Calendar提...

2019-09-04 16:01:06

《深入理解java虚拟机》 精华总结(面试)

一、运行时数据区域Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区1.1程序计数器程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器。字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支、循环、跳转、异常处理、线程恢复等基础功...

2019-07-29 11:50:11

Kotlin单例模式

不带参数public class Singleton private constructor() { init { println("This ($this) is a singleton") } private object Holder { val INSTANCE = Singleton() } companion object { ...

2019-07-11 16:20:56

Android学习——AndroidX

AndroidX 概览AndroidX 是 Android 团队用于在Jetpack中开发、测试、打包和发布库以及对其进行版本控制的开源项目。AndroidX 对原始 Android支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库...

2019-07-11 10:51:35

Android学习——Rxjava表单验证

1、处理表单验证注:在build.gradle中添加依赖implementation 'android.arch.persistence.room:rxjava2:1.1.1'或者:implementation 'com.jakewharton.rxbinding3:rxbinding-material:3.0.0-alpha2'1.1、仅仅处理一个编辑框以及按钮变色和可点击可以...

2019-07-01 19:30:06

Kotlin笔记

1、..for (i in 1..5) { // for (int i = 1;i <= 5;i++) {print(i)} print(i) // 12345}这里的 1..5 左右都是闭区间的2、untilfor (i in 1 until 5) { print(i) // 1234}另外,又有一些时候(大部分的时候)可能并不需要包括结束区间...

2019-04-02 10:38:29

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取