我正在实现一个简单的方法,以编程方式将 Button
添加到 LinearLayout
。
当我调用 setBackground(Drawable background) 方法时,抛出以下 Error
:
java.lang.NoSuchMethodError: android.widget.Button.setBackground
我的 addNewButton 方法:
private void addNewButton(Integer id, String name) {
Button b = new Button(this);
b.setId(id);
b.setText(name);
b.setTextColor(color.white);
b.setBackground(this.getResources().getDrawable(R.drawable.orange_dot));
//llPageIndicator is the Linear Layout.
llPageIndicator.addView(b);
}
最佳答案
您可能正在测试 16 级以下的 API (Jelly Bean)。
setBackground方法只能从该 API 级别开始使用。
我会尝试使用 setBackgroundDrawable (已弃用)或 setBackgroundResource如果是这样的话。
例如:
Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
Button one = new Button(this);
// mediocre
one.setBackgroundDrawable(d);
Button two = new Button(this);
// better
two.setBackgroundResource(R.drawable.ic_launcher);
关于java - Button.setBackground(Drawable 背景) 抛出 NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559248/