Bluestacks在Image View中的Image Change上返回主屏幕

时间:2016-08-27 16:07:29

标签: android android-studio imageview android-drawable

我刚开始学习Android。我想要做的是在按钮点击时更改图像视图内的图像。我在Android Studio上看不到任何语法错误或任何内容。该应用程序运行正常并显示第一个图像。但是,只要我点击Button更改图像,它就会变为空白并返回蓝图主屏幕。

这是我的代码。

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.png文件夹中存在androidtwo.pngdrawable。 我注意到当doublesint

的投射不正确时会发生同样的行为

导致这种情况的原因是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

好像你得到了一个例外。在Logcat中没有任何错误吗?

我认为您应该以这种方式检查ImageView中的drawable: if(myImageView.getDrawable().equals(getResources().getDrawable(R.drawable.androidone, null)))

ImageView.getBackground()不会返回你想要的东西。