2016-02-19 27 views
-1

此程序將圖像和圖像上的圖形進行交換。交換按鈕上的圖形可以正常工作,但交換圖像上的圖形會使程序崩潰。一段時間後,我仍然無法弄清楚它爲什麼不運行。如何在點擊時使用新的可繪製圖片資源? Android studio

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

我們可以看到logcat嗎? –

+0

可能您使用的佈局中不存在帶有「test1」標識的imageview –

回答

0

如果v3是它的父親,則只能找到r1。這意味着如果v3是您在if(v3 == blue)上確認的圖像按鈕,則無法從v3中找到r1。如果在佈局必須在其xml文件中定義ImageView的活動內調用您的函數,請嘗試改爲ImageView r1 = (ImageView) findViewById(R.id.test1);
你的代碼應該給你一個NullPointerException異常r1.setImageResource(R.drawable.bluebtimage);