【问题标题】:How to make ImageView click change another ImageViews background image如何使 ImageView 单击更改另一个 ImageViews 背景图像
【发布时间】:2015-10-07 14:22:05
【问题描述】:

你如何让一个 imageview 的按下改变另一个 imageviews 背景图像?

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

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"/>

【问题讨论】:

    标签: java android xml onclick imageview


    【解决方案1】:

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

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

    【讨论】:

    • 这不是问题,因为我在同一个活动中使用 imageview 尝试了此代码,但仍然遇到相同的错误。您知道更改单独活动的背景图像的更好方法吗?
    【解决方案2】:

    如果您尝试更改不在当前Activity 中的View 的背景(不可见),那么您可以存储一个标志(布尔值)或一些整数计数器,您可以将其传递给下一个活动使用putExtra

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

    我认为这就是你得到的nullPointerException

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多