Jov*_*van 8 string variables resources android
我正在开发一个新旧的项目...我正在为不同的国家市场制作它,当我从一个旧项目中复制我的代码时,它显示了一些错误,如MIGRATE ANDROID CODE(截至ADT 14,资源字段)不能用作切换案例.)这适用于strings.xml文件和布局中的资源.但它并没有给我一些可靠的解决方案......我怎么能解决它???? 这是代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Here is mistake
setContentView(R.layout.main);
//Kreira AlertDialog sa dva dugmeta koji ce se pojaviti pri aktiviranju aplikacije
ad = new AlertDialog.Builder(this).create();
//And HERE
ad.setTitle(getString(R.string.vasa_trenutna_lokacija));
//And HERE
ad.setMessage(getString(R.string.da_bi_ste_koristili_aplikaciju));
//And HERE
ad.setButton(DialogInterface.BUTTON_POSITIVE, getString(R.string.dozvoli), new DialogInterface.OnClickListener() {
//Klikom na dugme Dozvoli otvara se novi prozor
@Override
public void onClick(DialogInterface ad, int which) {
Intent i = new Intent(NiskiMerakActivity.this, TrenutnaLokacija.class);
startActivity(i);
finish();
}
});
ad.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.ne_dozvoli),new DialogInterface.OnClickListener() {
//Klikom na dugme Ne dozvoli aplikacija se zatvara
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
Run Code Online (Sandbox Code Playgroud)
Com*_*are 12
引用http://tools.android.com/tips/non-constant-fields
解决方案很简单:将switch语句转换为if-else语句.
由于上面的代码片段似乎没有switch()声明,但您的问题引用了一个switch()声明,我假设您的代码错误.
and*_*per 10
如果你的id的switch-case在一个库中,遗憾的是新的ADT版本不支持它.
但是,您可以轻松将其转换为if-else,如Google的网站所示:
http://tools.android.com/tips/non-constant-fields
Run Code Online (Sandbox Code Playgroud)
小智 7
从ADT 14开始,资源字段不能用作交换机案例.
这也发生在我身上,即使我没有在switch语句中使用R变量,我也收到了这个错误.不要被错误消息误导.你基本上有一些与R.java文件有关的错误.确保你没有导入R.java,因为你应该拥有自己的.java.删除您的R.java文件,构建项目,并查看是否生成了R.java文件.如果没有,您可能会遇到阻止R.java文件更新的错误.尝试Project> Clean以查找任何错误.摆脱错误并重建项目,以便生成R.java文件并使其保持最新状态.
| 归档时间: |
|
| 查看次数: |
12157 次 |
| 最近记录: |