如何在点击时使用新的drawable设置图像资源? Android工作室

时间:2016-02-19 17:42:36

标签: java android

此程序将图形交换为图像和按钮。交换按钮上的图形可以正常工作,但是交换图像上的图形会使程序崩溃。为了解决这个问题,我仍然无法理解为什么它不能运行。

import android.widget.ImageButton;
import android.widget.ImageView;

public void blackButtons(View v3) {
    ImageButton blue = (ImageButton) v3.findViewById(R.id.bluebuttonclick);
    ImageView r1 = (ImageView) v3.findViewById(R.id.test1);

    if (v3 == blue){
       blue.setImageResource(R.drawable.blackbtimage);
       r1.setImageResource(R.drawable.bluebtimage);


    }

    }

1 个答案:

答案 0 :(得分:0)

如果v3是其父级,则只能找到r1。这意味着如果v3是您在if(v3 == blue)上确认的图像按钮,则无法从v3中找到r1。如果在活动内部调用函数,请尝试使用ImageView r1 = (ImageView) findViewById(R.id.test1);,该布局必须在其xml文件中定义ImageView。
你的代码应该在r1.setImageResource(R.drawable.bluebtimage);

上给你一个NullPointerException