【发布时间】:2013-08-26 01:36:00
【问题描述】:
我正在尝试将微调器更改为:按钮 > 对话框 > 微调器。
完美运行,但我看不到下面的消息(发生错误并关闭应用程序):
"You have selected English en-us", "You have selected Português pt-br"
之前:
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
if (pos == 0) {
Toast.makeText(parent.getContext(),
"You have selected English en-us", Toast.LENGTH_SHORT)
.show();
setLocale("en");
} else if (pos == 1) {
Toast.makeText(parent.getContext(),
"You have selected Português pt-br", Toast.LENGTH_SHORT)
.show();
setLocale("br");
}
}
public void onNothingSelected(AdapterView<?> arg0)
{
}
});
}
public void setLocale(String lang)
{
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
}
我的新代码:
Button bt_lang = (Button) findViewById(R.bt.language);
bt_lang.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Select Language");
builder.setAdapter(adapter, new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
AdapterView<?> parent = null;
switch(which)
{
case 0:
setLocale("en");
Toast.makeText(parent.getContext(),
"You have selected English en-us", Toast.LENGTH_SHORT)
.show();
case 1:
setLocale("br");
Toast.makeText(parent.getContext(),
"Você selecionou Português pt-br", Toast.LENGTH_SHORT)
.show();
break;
}
dialog.dismiss();
}
});
builder.create();
builder.show();
}
});
}
public void setLocale(String lang)
{
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
}
【问题讨论】:
-
“应用坏了”是什么意思?
-
@TenFour04 发生错误并关闭应用程序
-
你能从日志中发布堆栈跟踪吗?
-
谢谢。为了将来参考,您可以从日志中选择这些行并使用键盘快捷键将它们复制/粘贴到此处。可能比发布屏幕截图更容易。
标签: android text dialog spinner adapter