私はクリックで変更する必要があるimageviewを持っています
public class Settings extends Activity implements OnClickListener
{
private ImageView im1;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
im1 = (ImageView) findViewById( R.id.imageView1 );
im1.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
if (v == im1 )
{
Log.d("test", "hey!");
v.setBackgroundResource(R.drawable.img1);
}
}
}
クリックすると、メソッドが実行されて「hey!」と出力されますが、画像は変わりませんか?
[〜#〜] edit [〜#〜]:imageview
にはxmlレイアウトファイルによって提供される別の画像が含まれていることを忘れていました
慣例として、setImageResource(R.drawable.img1);
の代わりにsetImageDrawable(getResources().getDrawable(R.drawable.img1));
(またはsetBackgroundResource(R.drawable.img1);
)を使用する必要があります。
ImageView i = (ImageView) findViewById( R.id.imageView1 );
i.setImageResource(R.id.logo);
or
i.setBackgroundResource(R.drawable.icon);
[〜#〜]更新[〜#〜]
今、あなたは以下のように使うことができます、
imageView.setImageDrawable(ContextCompat.getDrawable(this, R.drawable.img1));
API 25でこれを試す
imgSchedule.setImageDrawable(getResources().getDrawable(R.drawable.circle_image_selected));
SetimageResource()を使用するという慣例はありません。どちらのAPIも使用できます。
また、あなたのケースでは、リソースが同期していない場合のように見えます。