Android中所遇到的bug

Android中所遇到的bug,第1张

特殊字符

"<"是特殊字符,不能在Android Studio中写代码时直接用(与元素类型 “TextView“ 相关联的 “android:text“ 属性值不能包含 ‘<‘ 字符),为了避免出现这种情况,必须将字符"<" 转换成实体,实体必须以符号"&"开头,以符号";"结尾。

对照ASCII表,'<'替换为‘<’

< < 小于号

> > 大于号

& & 和

' ' 单引号

" " 双引号

1、ImageView控件与EditView控件无法放置在同一行

放置在水平线性布局里 

2、Button按钮的背景色调整

android:background="@android:color/transparent" 背景色设置为透明

解决办法

找到项目中的这两个xml文件,将 parent="Theme.MaterialComponents.DayNight.DarkActionBar" 修改为 parent="Theme.MaterialComponents.DayNight.DarkActionBar.Bridge" 即可解决,注意两个文件都要修改。若修改后没反应,可尝试关闭Android Studio并重新启动

3、界面之间的跳转

Intent intent = new Intent(MainActivity.this,MainActivity2.class);//"MainActivity2.class"是所要跳转到的界面位置

startActivity(intent);

4、TextView字体的自定义

(1)下载所想要的字体文件(.TTF)

(2)Project--app--src--mian--右键Directory,命名为assets--再次新建文件夹fonts,然后将下载的字体文件放到fonts文件夹中

 (3)在对应的.java文件中进行字体代码修改

//获取控件

TextView wen = findViewById(R.id.wen);

//设置字体

Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/KaiTi.TTF");

//"fonts/KaiTi.TTF"是字体文件

wen.setTypeface(typeface);

5、界面之间的数据传递

(1)在所要传出数据的界面

//实例化窗口,并指定数据从哪个窗口传到哪个窗口
Intent intent = new Intent(MainActivity3.this, MainActivity.class);
//"MainActivity3.this"是当前窗口,"MainActivity.class"是获取数据的窗口
//将数据传到intent中
intent.putExtra("f_p", fix_pwd.getText().toString());
//开始跳转界面
startActivity(intent);
(2)接收数据界面

//获取intent对象
Intent intent = getIntent();
//将获取的数据赋给password
String password = intent.getStringExtra("f_p");

6、做AS调取相机拍照加保存图像时,下面这行代码出现问题

path=cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
报错是:Value must be ≥ 0

解决方法:把getColumnIndex换为getColumnIndexOrThrow可以运行

7、遇到“Cannot resolve symbol”

解决方法:在AS中点击“File” -> “Invalidate Caches / Restart”,对话框选择 “Invalidate and Restart”,清空 cache 并且重启。

8、R.id.design_bottom_sheet指向的是哪个元件?

新版本的Android API中去掉了这个原件,想用的话就要降低版本,看看源码中的版本是多少,改成一样的就有了。

9、Android Studio启动AVD报错:The emulator process for AVD Pixel_5_API_30 has terminated.

原因:安装时使用自定义安装后,修改了默认安装目录。而avd文件默认在 C:\Users\用户名.android 目录下。所以导致打开AVD时报错。

解决方法:

(1)找到avd所在 .android文件夹,将 .android文件夹复制到SDK目录下。

注意:将整个  .android 文件夹都拷贝

(2)修改系统环境变量

 变量名:ANDROID_SDK_HOME ;变量值是SDK所在目录,包括所复制的.android

在此之后旧的 .android 就可以删除了。重启Android Studio,删除之前的AVD,新建一个AVD。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/796487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存