窗口已经集中,忽视聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0 [英] Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0

查看:515
本文介绍了窗口已经集中,忽视聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要改变语言基础上的下拉菜单list.But这个code不正常工作。它显示这个问题窗口已经集中,忽视聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0

在哪里是我无法弄清楚它的问题。请任何一个帮助我。

 公共类LanguageChangedActivity延伸活动{
/ **当第一次创建活动调用。 * /私有静态的String [] = rangeArray新的String [] {英语,獐
        Japanies};
私人微调rangeSpinner;
串tempRange =;
串languageToLoad =;
布尔isFirstTime = TRUE;
INT断定= 0;@覆盖
公共无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);    // rangeArray = getResources()getStringArray(R.array.rangeArray)。    languageToLoad =EN; // 你的语言
    //区域设置区域=新区域(languageToLoad);
    // Locale.setDefault(区域);
    //配置配置=新配置();
    // config.locale =区域;
    // getBaseContext()。getResources()。updateConfiguration(配置,
    。// getBaseContext()getResources()getDisplayMetrics());
    this.setContentView(R.layout.main);
    Log.w(isFirstTime的onCreate,????);    //资源解析度= getBaseContext()getResources()。
    在app // //改变区域设置。
    // DisplayMetrics DM = res.getDisplayMetrics();
    // android.content.res.Configuration CONF = res.getConfiguration();
    // conf.locale =新的语言环境(languageToLoad.toLowerCase());
    // res.updateConfiguration(CONF,DM);    //范围微调
    rangeSpinner =(微调)findViewById(R.id.spinnerLanguage);
    ArrayAdapter<串GT;适配器=新ArrayAdapter<串GT;(这一点,
            android.R.layout.simple_spinner_item,getResources()
                    .getStringArray(R.array.rangeArray));
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);    rangeSpinner.setAdapter(适配器);
    rangeSpinner.setOnItemSelectedListener(新OnItemSelectedListener(){        公共无效onItemSelected(适配器视图<>适配器视图,视图来看,
                INT位置,长的id){            断定=位置;            Log.w(isFirstTime的onCreate onItemSelected,????);            如果(isFirstTime){
                isFirstTime = FALSE;
            }其他{                如果(位置== 0){
                    languageToLoad =EN;
                }否则如果(位置== 1){
                    languageToLoad =FR;
                }否则如果(位置== 2){
                    languageToLoad =JA;
                }
                区域设置区域=新区域(languageToLoad);
                Locale.setDefault(区域);
                配置配置=新配置();
                config.locale =区域;
                onConfigurationChanged(配置);            }
        }        公共无效onNothingSelected(适配器视图<>适配器视图){
        }
    });}@覆盖
公共无效onConfigurationChanged(配置NEWCONFIG){
    super.onConfigurationChanged(NEWCONFIG);    getBaseContext()。getResources()。updateConfiguration(NEWCONFIG,
            。getBaseContext()getResources()getDisplayMetrics());    的setContentView(R.layout.main);    rangeSpinner =(微调)findViewById(R.id.spinnerLanguage);
    ArrayAdapter<串GT;适配器=新ArrayAdapter<串GT;(这一点,
            android.R.layout.simple_spinner_item,getResources()
                    .getStringArray(R.array.rangeArray));
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    rangeSpinner.setSelection(断定);
    rangeSpinner.setAdapter(适配器);
    Log.w(isFirstTime onConfigurationChanged,????);
}@覆盖
保护无效onResume(){
    // TODO自动生成方法存根
    super.onResume();
    Log.w(isFirstTime onResume,????);}
}


解决方案

只是为了试试...
与其说 onConfigChange()方法.. 。让一个用户自定义函数说 toChangeConfig(配置C)并做code的相同步骤,可以作为你的 onConfigChange写道( )现在调用这个函数 onItemSelected

I want to change language base on drop down menu list.But this code does not working properly. It is showing this problem Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0.

Where is the problem I can't figure out it. Please any one help me.

public class LanguageChangedActivity extends Activity {
/** Called when the activity is first created. */

private static String[] rangeArray = new String[] { "English", "Franch",
        "Japanies" };
private Spinner rangeSpinner;
String tempRange = "";
String languageToLoad = "";
boolean isFirstTime = true;
int posit=0;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // rangeArray = getResources().getStringArray(R.array.rangeArray);

    languageToLoad = "en"; // your language
    // Locale locale = new Locale(languageToLoad);
    // Locale.setDefault(locale);
    // Configuration config = new Configuration();
    // config.locale = locale;
    // getBaseContext().getResources().updateConfiguration(config,
    // getBaseContext().getResources().getDisplayMetrics());
    this.setContentView(R.layout.main);


    Log.w("isFirstTime onCreate","????");

    // Resources res = getBaseContext().getResources();
    // // Change locale settings in the app.
    // DisplayMetrics dm = res.getDisplayMetrics();
    // android.content.res.Configuration conf = res.getConfiguration();
    // conf.locale = new Locale(languageToLoad.toLowerCase());
    // res.updateConfiguration(conf, dm);

    // range spinner
    rangeSpinner = (Spinner) findViewById(R.id.spinnerLanguage);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, getResources()
                    .getStringArray(R.array.rangeArray));
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    rangeSpinner.setAdapter(adapter);
    rangeSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> adapterView, View view,
                int position, long id) {

            posit=position;

            Log.w("isFirstTime onCreate onItemSelected","????");

            if (isFirstTime) {
                isFirstTime = false;
            } else {

                if (position == 0) {
                    languageToLoad = "en";
                } else if (position == 1) {
                    languageToLoad = "fr";
                } else if (position == 2) {
                    languageToLoad = "ja";
                }
                Locale locale = new Locale(languageToLoad);
                Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
                onConfigurationChanged(config);

            }
        }

        public void onNothingSelected(AdapterView<?> adapterView) {
        }
    });

}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    getBaseContext().getResources().updateConfiguration(newConfig,
            getBaseContext().getResources().getDisplayMetrics());

    setContentView(R.layout.main);

    rangeSpinner = (Spinner) findViewById(R.id.spinnerLanguage);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, getResources()
                    .getStringArray(R.array.rangeArray));
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    rangeSpinner.setSelection(posit);
    rangeSpinner.setAdapter(adapter);


    Log.w("isFirstTime onConfigurationChanged","????");
}

@Override
protected void onResume() {
    // TODO Auto-generated method stub
    super.onResume();
    Log.w("isFirstTime onResume","????");

}
}

解决方案

Just for the try...
Instead of calling onConfigChange() method... make one user define function say toChangeConfig(Config c) and do the same step of code in that function as you wrote in onConfigChange() and now call this function in onItemSelected.

这篇关于窗口已经集中,忽视聚焦增益:com.android.internal.view.IInputMethodClient$Stub$Proxy@41141af0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆