我刚开始学习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.png
和drawable
。
我注意到当doubles
和int
导致这种情况的原因是什么?
感谢。
答案 0 :(得分:0)
好像你得到了一个例外。在Logcat中没有任何错误吗?
我认为您应该以这种方式检查ImageView中的drawable:
if(myImageView.getDrawable().equals(getResources().getDrawable(R.drawable.androidone, null)))
ImageView.getBackground()不会返回你想要的东西。