【发布时间】:2018-01-11 20:00:38
【问题描述】:
我正在将 imageview 与可绘制图像进行比较。如果相同,那么我需要编写一个逻辑。
如果不一样,我需要处理另一个逻辑。
所以我尝试的是,
private ImageView emailIcon, phoneIcon;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
contentView = inflater.inflate(R.layout.activity_summary_activities, null);{
emailIcon = (ImageView) findViewById(R.id.email_icon);
phoneIcon = (ImageView) findViewById(R.id.sms_icon);
phoneIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
phoneIcon.setBackgroundResource(R.drawable.round);
emailIcon.setBackgroundResource(R.drawable.ic_mark_white);
}
});
emailIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
phoneIcon.setBackgroundResource(R.drawable.ic_mark_white);
emailIcon.setBackgroundResource(R.drawable.round);
}
});
submitBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (phoneIcon.getDrawable().getConstantState() == SummaryActivities.this
.getResources().getDrawable(R.drawable.ic_mark_white)
.getConstantState()) {
Log.e("going here", "going here");
}
}
但我正在崩溃,
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.graphics.drawable.Drawable$ConstantState android.graphics.drawable.Drawable.getConstantState()' 在 com.view.SummaryActivities$5.onClick(SummaryActivities.java:130)
在xml中:
<ImageView
android:id="@+id/sms_icon"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="32dp"
android:layout_marginTop="3dp"
android:background="@drawable/ic_mark_white" />
<ImageView
android:id="@+id/email_icon"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="32dp"
android:layout_marginTop="2dp"
android:background="@drawable/ic_mark_white" />
【问题讨论】:
-
查看此question 以获取您的
NullPointerException。 -
尝试将
android:background="@drawable/ic_mark_white"更改为android:src="@drawable/ic_mark_white"
标签: android android-layout android-drawable