在ImageView上使用setBackgroundDrawable方法时,Eclipse会出现以下错误: “View类型中的方法setBackgroundDrawable(Drawable)不适用于参数(int)” 我的ImageView在xml中定义为:
<ImageView
android:id="@+id/ivCheck1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/box"
android:contentDescription=" " />
在java中定义并实现为:
public class QuizList extends Activity implements View.OnClickListener {
ImageView check1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.theView);
IntializeVariables();
IntializeChecks()
}
private void IntializeVariables() {
// TODO Auto-generated method stub
check1 = (ImageView) findViewById(R.id.ivCheck1);
}
private void IntializeChecks() {
// TODO Auto-generated method stub
boolean check = getPrefs.getBoolean("quiz1pref", false);
if (check == true) {
check1.setBackgroundDrawable(R.drawable.check);
}
}
任何人都知道为什么会出现这个错误,或者如何解决它?
答案 0 :(得分:3)
check1.setBackgroundDrawable(R.drawable.check);
这是错误。请将其更改为
check1.setBackgroundResource(R.drawable.check);
或
check1.setBackgroundDrawable(getResources().getDrawable(R.drawable.check));
答案 1 :(得分:0)
试试这个:
check1.setBackgroundDrawable(getResources().getDrawable(R.drawable.check));
答案 2 :(得分:0)
而不是: -
check1.setBackgroundDrawable(R.drawable.check);
使用: -
check1.setImageResource(R.drawable.check);