问题描述
我实现了一个简单的方法来一个按钮
添加到的LinearLayout
编程。
当我调用的setBackground(可绘制背景)方法,下面错误
被抛出:
java.lang.NoSuchMethodError:android.widget.Button.setBackground
我addNewButton方式:
私人无效addNewButton(整数ID字符串名称){
按钮B =新的按钮(这一点);
b.setId(ID);
b.setText(名称);
b.setTextColor(color.white);
b.setBackground(this.getResources()getDrawable(R.drawable.orange_dot));
// llPageIndicator是线性布局。
llPageIndicator.addView(B);
}
您可能会测试下方16级的API(的)。
的setBackground方法只从API级别开始。
我会尝试与setBackgroundDrawable (德precated)或者setBackgroundResource如果是这样的话。
例如:
绘制对象D = getResources()getDrawable(R.drawable.ic_launcher)。
按钮一次=新的按钮(这一点);
// 平庸
one.setBackgroundDrawable(四);
两个按钮=新的按钮(这一点);
// 更好
two.setBackgroundResource(R.drawable.ic_launcher);
I'm implementing a simple method to add a Button
to a LinearLayout
programatically.
When I invoke the setBackground(Drawable background) method, the following Error
is thrown:
java.lang.NoSuchMethodError: android.widget.Button.setBackground
My addNewButton method:
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);
}
You might be testing on an API below level 16 (Jelly Bean).
The setBackground method is only available from that API level onwards.
I would try with setBackgroundDrawable (deprecated) or setBackgroundResource if that's the case.
For instance:
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);
这篇关于Button.setBackground(可绘制背景)抛出的NoSuchMethodError的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!