更新至Ubuntu12.10后fontsconfig出现警告的解决办法

从Ubuntu12.04升级到Ubuntu12.10后,自我感觉这个发行版并不那么如人意。升级之后Fontsconfig就不停的在抱怨:

Fontconfig warning /etc/fonts/conf.d/99-language-selector-zh.conf line 11: Having multiple values inisn't supported and may not works as expected
Fontconfig warning:/etc/fonts/conf.d/50-user.conf, line 9: reading configurations from ~/.fonts.conf is deprecated.

先来解决第一个问题。Google了一下发现有人报告了类似的BUG

Still no changes in the behavior in the latest version of fontconfig,
but it now warns when contains multiple values or contains
multiple s. this is because the behavior isn’t intuitive and
doesn’t work as expected necessarily. So you better consider to fix it
to make clearer what you want to do with it.

For solution, if you are expecting OR operator with that rule, add more
s or es. if you are expecting AND operator with that rule,
just add more s in that .

所以,我们只需要将中重复的值分别放到重复的标签中即可,也就是说,将下面这段代码:

<test name="family" compare="contains" >
    <string>Song</string>
    <string>Sun</string>
    <string>Kai</string>
    <string>Ming</string>
</test>

替换为:

<test name="family" compare="contains" >
    <string>Song</string>
</test> 
<test name="family" compare="contains" >
    <string>Sun</string>
</test> 
<test name="family" compare="contains" >
    <string>Kai</string>
</test> 
<test name="family" compare="contains" >
    <string>Ming</string>
</test>

再来看第二个问题,在这里搜到了答案:

@依云 :消除这个 deprecated 的警告的正确方法是把配置文件移到 ~/.config/fontconfig/fonts.conf。

问题解决 :)

展开阅读全文

更新出现CastException

08-08

更新框架:rnrn @Overridern public int getItemPosition(Object object) rn FragmentPage2 f = (FragmentPage2) object;rn if (f != null) rn f.update();rn rn return super.getItemPosition(object);rn rnrn现在如果添加一个额外的`Fragment`到`getItem(int position)`中,还一切正常,但是一运行`mPager.getAdapter().notifyDataSetChanged();`,就会报出异常:rnrn 08-07 19:45:50.844: E/AndroidRuntime(17776): java.lang.ClassCastException: com.foodbuilder.FragmentPage1 cannot be cast to com.foodbuilder.FragmentPage2rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at com.foodbuilder.MainActivity$MyAdapter.getItemPosition(MainActivity.java:967)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:851)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2772)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at android.database.DataSetObservable.notifyChanged(DataSetObservable.java:37)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:276)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at com.foodbuilder.MainActivity.onDialogPositiveClick(MainActivity.java:888)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at com.foodbuilder.TablesDialogFragment$2.onClick(TablesDialogFragment.java:57)rn 08-07 19:45:50.844: E/AndroidRuntime(17776): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)rn ` 问答

没有更多推荐了,返回首页