我有一个图像视图,应该点击
进行更改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);
}
}
}
单击时,该方法运行并打印出“嘿!”但图像不会改变?
编辑:忘了提及imageview
包含xml布局文件提供的另一张图片
答案 0 :(得分:47)
按照惯例,您应该使用setImageResource(R.drawable.img1);
(或setImageDrawable(getResources().getDrawable(R.drawable.img1));
)代替setBackgroundResource(R.drawable.img1);
。
答案 1 :(得分:3)
ImageView i = (ImageView) findViewById( R.id.imageView1 );
i.setImageResource(R.id.logo);
or
i.setBackgroundResource(R.drawable.icon);
答案 2 :(得分:1)
<强>更新强>
现在,你可以使用如下,
var navRender = function indexNav(x,y) {
var mainNav = ["\/", "Inicio","\/abogados-criminales-los-angeles.html", "Defensa Criminal",
"\/delitos-de-drogas-abogados.html", "Delitos de Drogas",
"\/area-de-practica-abogados.html", "Areas de Practica",
"\/abogados-friendman-los-angeles.html", "Abogados Friedman",
"\/contactenos.html", "Contactenos"];
for (i = x; i <= y; i++) {
document.write("<li class=\"pure-menu-item pure-u-1-3\"><a class=\"pure-menu-link href=\"",mainNav[i]);
i++;
document.write("\">", mainNav[i] , "<\/a><\/li>");
};
};
document.getElementById("demo").innerHTML = navRender(0,5);
</script>
答案 3 :(得分:1)
在API 25中试试这个
imgSchedule.setImageDrawable(getResources().getDrawable(R.drawable.circle_image_selected));
答案 4 :(得分:0)
不应该使用setimageResource()。 这两个API都可以使用。
另外,在您的情况下,它看起来就像是资源不同步。