1: 即时通讯遇到的listview滚动到底部
listView.smoothScrollToPosition(adapter.getCount()-1);
2:listview滚动时顶部和底部阴影问题
xml中添加android:overScrollMode="never";
3:attempt to invoke virtual method 'int android.view.View.getImportantForAccessiblility' on a null object freference
问题原因:adapter 中的getview()返回null
4:smartgit只能使用30天问题:
windows+R:输入%APPDATA%\syntevo\SmartGit\查找,
文件夹中找到setting文件,删除即可。
5:Failed to load AppCompat ActionBar with unknown error.
Android studio创建新项目,preview不能显示问题;
将<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
改为
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
6:消除radiobutton点击时阴影效果
设置背景色即可
7: java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.SecurityException: Provider must grant uri permissions
完整错误如下:
java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.SecurityException: Provider must grant uri permissions
at android.app.ActivityThread.installProvider(ActivityThread.java:6396)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.SecurityException: Provider must grant uri permissions
at android.support.v4.content.FileProvider.attachInfo(FileProvider.java:389)
at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5853)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
错误原因:清单中属性问题
<provider
android:authorities="com.zj.orc.FileProvider"
android:name="android.support.v4.content.FileProvider"
android:exported="false"
>
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
添加: android:grantUriPermissions="true"
8:FileProvider在调用getUriForFile方法时一直报空指针,
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)' on a null object reference
问题:清单中android:authorities属性跟getUriForFile写的不一致。
9:Android support 转androidX
使用最新的greenDao时,遇到了这种情况。
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:36:5-364:19 to override.
按提示在manifest里面添加了
tools:replace="android:appComponentFactory"是解决不了的。
怎么解决呢?
android studio里面使用refeact -> Migrate to androidX.
接着会保存zip包。
转完androidX后,manifest中的 tools:replace="android:appComponentFactory"一定要干掉。。
10:F:\Assistant\app\src\main\res\drawable-xxdhpi: Error: Invalid resource directory name.
android的res目录是固定的,drawable-xxdhpi是手误写错了。工程识别不了。
需要彻底删除这个目录,直接删除下面的图片是不行的。。
11:Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
使用dataBinding时,在xml中使用特殊符号时,如下:
android:text="@{`数量/种类`+data.num+`/`+data.num}"
报的错如标题,这时候不会具体指出那个文件报错,很烦人。
解决办法:
写在string中。然后在text中调用
android:text="@{@string/text_slash+data.num+@string/text_slash+data.num}"