获取AndroidManifest.xml中的package name (可以用package来当判断条件):一个程序替换AndroidManifest.xml修改R文件就可以界面大换血了
if(getApplication().getPackageName().equals("com.wintone.plateid.free")){
}else{
}
如果上面的R.drawable.chinasafe_log不能引入,报错,
wintoneImage.setBackgroundDrawable
(getResources().getDrawable
(getResources().getIdentifier("safeinfo1", "drawable", getApplication().getPackageName()))
);
如何连R文件都不修改:
getResources().getIdentifier("activity_main", "layout", this.getPackageName())
有时候this.getPackageName()会报错,把this换成getApplication()就好了
用这个方法来代替R文件
R.后面是什么,方法第二个参数就填什么,头两个参数都是String类型,必须加""
第一个参数就是需要加载的名称、id
例:
R.id.button
getResources().getIdentifier("button", "id", this.getPackageName())
R.drawable.pag
getResources().getIdentifier("pag", "drawable", this.getPackageName())
。。。。。。
如果在view、adapter。。。。等其他类地方上面的引入R文件方法就不好用了getResources()方法只能在Activity类里使用
如果想在其他类使用,就要使用context
context.getResoutces().getIdentifier("activity_main" , "layout" ,congtext.getApplication().getPackageName() );
context.getResoutces().getIdentifier("activity_main" , "layout" ,congtext.getPackageName() );
有的类还是不可以,就把context强转成Activity
context.getResoutces().getIdentifier("activity_main" , "layout" ,((Activity)congtext).getApplication().getPackageName() );
注意!!!!!!:这个方法在switch case选择中不可用。
如果替换
switch ( v .getId()) {
case R.id.
tackPic_btn_main:
Intent intentTack = new Intent("chinasafe.bankCard.scan_camera");
intentTack.putExtra("WTAPP", 10011);
startActivity(intentTack);
break;
case R.id.其他按钮id:
Intent intentTack = new Intent("chinasafe.bankCard.scan_camera");
intentTack.putExtra("WTAPP", 10011);
startActivity(intentTack);
break;
};
就需要用:
if( v == tackPic_btn_main ){
点击tackPic_btn_main 按钮事件。
}else if(v == 初始化按钮名称,不是id){
点击其他按钮事件。
};
来代替