请教各位一个问题,在android中切换语言为阿拉伯语之后,通话记录的数据显示不出来是怎么回事?其他语言的时候可以正常显示。图一:阿拉伯语的情况(不正常) 图二:中文的情况(正常)
改成阿拉伯语,布局被反向了,看看是不是你的布局问题,把文字显示挤到屏幕外面去了
别人的手机上也是这样?
多试试几个手机呢,另外,模拟器上没问题?
试了好多个,还是一样的情况,因为模拟器上面没有通话记录,所以没有用模拟器测试
你先用控件直接赋值的方法看看能不能正常显示阿拉伯,不过我看你右上角有阿拉伯文,是不是在动态加载数据的时候无法处理阿拉伯字符串啊,你把该显示的数据打印一下试试
1.通话记录的adapter适配器中的代码部分如下(显示归属地):
//显示归属地
if (callLog.getBelong_area() != null && !callLog.getBelong_area().equals("")) {
LogE.e("item","有归属地:"+callLog.getBelong_area());
holder.belong_area.setVisibility(View.VISIBLE);
holder.belong_area.setText(callLog.getBelong_area());
} else {
LogE.e("item","没有有归属地");
holder.belong_area.setText("");
holder.belong_area.setVisibility(View.GONE);
}
2.将adapter中的归属地写死,比如:holder.belong_area.setText("北京"); 仍然不显示
我猜可能是layout对RTL的支持不太好吧,rtl下左右颠倒,如果使用的left和right来控制控件位置的话,会有问题,需要使用start和end
另外, manifest里面需要加上supportsRtl
不要用虚拟机,用真机测试,因为如果你的AS的颜色是吸血鬼模式,阿拉伯字都看不到的