如何使ImageView单击更改另一个ImageViews背景图像

时间:2015-10-07 14:22:06

标签: java android xml onclick imageview

如何按下图像视图更改另一个图像视图背景图像?

我的代码一直给我一个空指针异常错误,但我不知道为什么。

java代码

ImageView imageview2 = (ImageView) findViewById(R.id.imageview2);
public void onclickname(View v) {
    imageview2.setImageResource(R.drawable.example);}

可点击的图片视图

<ImageView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:clickable="true"
        android:src="@drawable/example"
        android:id="@+id/imageview1"
        android:onClick="onclickname"/>

我想改变背景图像的imageview。

<ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/red"
        android:id="@+id/imageview2"/>

2 个答案:

答案 0 :(得分:0)

  

imageview1和imageview2处于不同的活动中。

这就是为什么你得到空指针异常。你的活动的布局找不到图像视图(它没有出现在屏幕上)。 并且您的imageview2始终为空。

答案 1 :(得分:0)

如果您正在尝试更改当前View中不存在的Activity的背景(不可见),那么您可以存储一个标志(布尔值)或一些可以通过的int计数器使用putExtra进行下一个活动。

然后在第二个Activity的onCreate中,您可以使用if语句检查在初始化imageview2后使用getExtra设置背景的内容。

我认为那是你得到的nullPointerException