Android ImageView.setBackgroundResource在NavigationDrawer中不工作
我在导航抽屉中有一个相对布局。它包括一个textview和一个imageview。我将onClick attribute=onMenuHome设置为相对布局Android ImageView.setBackgroundResource在NavigationDrawer中不工作,android,imageview,navigation-drawer,setbackground,Android,Imageview,Navigation Drawer,Setbackground,我在导航抽屉中有一个相对布局。它包括一个textview和一个imageview。我将onClick attribute=onMenuHome设置为相对布局 public void onMenuHome(View v) { RelativeLayout rlayHome = (RelativeLayout) findViewById(R.id.rlay_main_home); ImageView imgvHome = (ImageView) findViewByI
public void onMenuHome(View v) {
RelativeLayout rlayHome = (RelativeLayout) findViewById(R.id.rlay_main_home);
ImageView imgvHome = (ImageView) findViewById(R.id.imgv_main_home);
TextView txtvHome = (TextView) findViewById(R.id.txtv_main_home);
rlayHome.setBackgroundResource(R.color.clr_disabledLight);
imgvHome.setBackgroundResource(R.drawable.ic_home_c);
txtvHome.setTextColor(getResources().getColor(R.color.clr_primaryColor));
Fragment fragment = new HomeFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frml_main_fragment, fragment).commit();
mTitle = getResources().getString(R.string.str_home);
getSupportActionBar().setTitle(mTitle);
mDrawerLayout.closeDrawers();
}
所以相对布局的背景和textview的textcolor会发生变化。但它不能改变imageview的src。
有人能帮我吗?你需要坚持你所持的观点
RelativeLayout rl =(RelativeLayout) findViewById(R.id.rlay_main_home_);
// then find views components (i.e buttons, textviews) via above view
Button btn = (Button) rl.findViewById(R.id.btn_id);
你的完整答案是:
public void onMenuHome(View v) {
RelativeLayout rlayHome = (RelativeLayout) findViewById(R.id.rlay_main_home);
ImageView imgvHome = (ImageView)rlayHome .findViewById(R.id.imgv_main_home);
TextView txtvHome = (TextView)rlayHome .findViewById(R.id.txtv_main_home);
rlayHome.setBackgroundResource(R.color.clr_disabledLight);
imgvHome.setBackgroundResource(R.drawable.ic_home_c);
txtvHome.setTextColor(getResources().getColor(R.color.clr_primaryColor));
Fragment fragment = new HomeFragment();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frml_main_fragment, fragment).commit();
mTitle = getResources().getString(R.string.str_home);
getSupportActionBar().setTitle(mTitle);
mDrawerLayout.closeDrawers();
}
我发现了问题,我将.setBackgroundResource更改为.setImageResource