Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageView.setBackgroundResource在NavigationDrawer中不工作_Android_Imageview_Navigation Drawer_Setbackground - Fatal编程技术网

Android ImageView.setBackgroundResource在NavigationDrawer中不工作

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

我在导航抽屉中有一个相对布局。它包括一个textview和一个imageview。我将onClick attribute=onMenuHome设置为相对布局

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