2016-08-27 86 views
0

我剛開始學習Android。我正在嘗試做的是在點擊按鈕時更改圖像視圖中的圖像。我在Android Studio上看不到任何語法錯誤或任何內容。該應用程序運行良好,並顯示第一個圖像。但是,只要我點擊Button更改圖像,它就會變成空白並返回藍色主屏幕。Bluestacks返回圖像視圖中的圖像更改主屏幕

這是我的代碼。

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.Button; 
import android.widget.ImageView; 

public class Spinner_ListView_MainActivity extends AppCompatActivity { 

    ImageView myImageView; 
    Button myChangeButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_spinner__list_view__main); 

     myImageView = (ImageView) findViewById(R.id.myImageView); 
     myChangeButton = (Button) findViewById(R.id.myChangeButton); 
     myChangeButton.setOnClickListener(new myChangeButtonListener()); 
     myImageView.setImageResource(R.drawable.androidone); 
    } 

    private class myChangeButtonListener implements View.OnClickListener { 
     @Override 
     public void onClick(View view) { 
      if (myImageView.getBackground().equals(R.drawable.androidone)) { 
       myImageView.setImageResource(R.drawable.androidtwo); 
      } else { 
       myImageView.setImageResource(R.drawable.androidone); 
      } 
     } 
    } 
} 

兩個androidone.pngandroidtwo.png存在drawable文件夾內。 我注意到,當存在不正確的鑄造doublesint

什麼可能導致這種情況?

感謝。

回答

0

看來你正在得到一個異常。 Logcat中沒有任何錯誤?

我認爲你應該在ImageView的檢查繪製這樣: if(myImageView.getDrawable().equals(getResources().getDrawable(R.drawable.androidone, null)))

ImageView.getBackground()將不會返回你在尋找的。