Android遇到的问题以及解决
编写自定义ExpandListView运行程序后点击Group组件导致程序闪退
出错提示
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.zc, PID: 695
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
解决
//自定义ExpandableListView,重写getGroupView与getChildView,使得获取分组与子列表视图
//在重写方法时,返回的null导致点击组件时程序闪退
return convertView;
给控件设置android:background时不生效
Themes.xml--->修改为<style name="Theme.Demo1" parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge">
设置不同国家语言文件夹调试不生效
在模拟器中将设置中的语言更改为对应的语言即可进行查看
在打包apk编译时图片报错问题
将图片改成jpg格式
或者将build.gradle文件的android层级的cruncherEnable改成false
读取屏幕设备亮度时
//手动开启权限
Intent intent1 = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
intent1.setData(Uri.parse("package:" + getPackageName()));
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent1);
问题
Call requires API level 23 (current min is 16): `android.provider.Settings.System#canWrite`
解决
//在开启权限之前,判断不同版本做不同的操作
if(Build.VERSION>SDK_INI >= Build.VERISON_CODES>M){
//手动开启权限放进来
}else{
//直接修改、读取设备的操作
}
取消标题栏
import androidx.appcompat.app.ActionBar;
ActionBar actionBar = getSupportBar();
if(actionBar != null){
actionBar.hide();
}
Cannot resolve symbol ‘@+id/test_view_text’
了解View时,在引入自定义view的时候使用id去掌握动画移动view的原理时出现
工具栏--->Build--->Clean Project
导入okhttp的封装库okhttpfinal时出现gradle sync issue
解决:使用阿里云的代码仓库,为allprojects添加远程仓库,远程仓库不再是项目的build.gradle中配置,而是在settings.gradle下
dependencyResolutionManagement{
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
}
}