当前位置:操作系统 > 安卓/Android >>

android 图库语言更新

中文模式下进入图库第一个界面来查看所有的相册集,按home键,设置手机语言为英文后,再回到图库中查看相册的名称仍然为中文。如何在手机更改语言后图库中相册的名称也进行语言更新


1、google default的设计是在创建各个album的构造函数中会根据资源类型来获取相册的名称,因此当图库暂停(执行了onPause)又再次进入时,语言并不会及时更新。
 
2、修改思路是:当再次进入图库时,根据相应资源类型重新获取相册的名称。具体修改方法如下:
(1) Gallery2\src\com\android\gallery3d\data\LocalMergeAlbum.javaLocalMergeAlbum.java中:
    @Override
    public String getName() {
        mName = mSources.length == 0 ? "" : mSources[0].getName();
        return mName;
    }
(2) Gallery2\src\com\android\gallery3d\data\LocalAlbum.java中:
第一处修改: 定义一个String变量:
    private String mTempName;
第二处修改:在LocalAlbum的构造方法中:
   public LocalAlbum(Path path, GalleryApp application, int bucketId, boolean isImage, String name) {
       ...
        mName = getLocalizedName(application.getResources(), bucketId, name);
        mTempName = mName;     ...
   }

第三处修改:添加方法refreshName()
    public void refreshName(String Name){
        mTempName = getLocalizedName(mApplication.getResources(),mBucketId,Name);
    }
第四处修改:getName()方法中:
    @Override
    public String getName() {
        refresh(mTempName);
//        return mName;
        return mTempName;
    }

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,