如何更改android中的ImageView源代码

这是我的XML,这是位于我的活动中出现一个片段。

<FrameLayout android:id="@+id/frame1" android:layout_width="wrap_content" android:layout_height="115dp" android:layout_margin="2dp" android:layout_weight="0.33"> <ImageView android:id="@+id/whoamiwith" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitCenter" android:src="@drawable/default_image" /> </FrameLayout> 

这是我的Java代码:

 @Override public void onClick(View click) { if (click == profileBtn) { whoamiwith.setBackgroundResource(R.drawable.image_i_wanna_put); } } 

我试图改变图像视图的图像源,没有语法错误,但是当我执行button模拟器给我一个力量closures,并在logcat它说java.lang.NULLPointerException ,它是指向到whoamiwith.setBackgroundResource(R.drawable.loginbtn); 线。

Solutions Collecting From Web of "如何更改android中的ImageView源代码"

 whoamiwith.setImageResource(R.drawable.loginbtn); 
  ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith) Drawable new_image= getResources().getDrawable(R.drawable.loginbtn); whoamiwith.setBackgroundDrawable(new_image); 

你试一试

 ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith) whoamiwith.setImageResource(R.id.new_image); 

初始化图像视图:

 whoamiwith = findViewByid(R.id.whoamiwith); 

然后点击方法,写下这行改变图像资源:

  if(android.os.Build.VERSION.SDK_INT > 15) { // for API above 15 whoamiwith.setBackground(getResources().getDrawable(R.drawable.loginbtn)); } else { // for API below 15 whoamiwith.setBackgroundDrawable(getResources().getDrawable(R.drawable.loginbtn)); } 
 ImageView whoamiwith = (ImageView)findViewById(R.id.whoamiwith); whoamiwith.setImageResource(R.drawable.image_i_wanna_put); 

例外是whoamiwith为空。 你是否初始化whoamiwith ,ImageView whoamiwith =(ImageView)findViewById(R.id.whoamiwith)

请参阅dynamic使用setImageDrawable在ImageView中设置图像