android添加按钮出错,Button bn = new Button(this);报错

publicclassMainActivityextendsActivity{GridLayoutgridLayout;Buttonbn_add;intlocation=... public class MainActivity extends Activity
{
GridLayout gridLayout;
Button bn_add;
int location = 0;
String[] chars = new String[]
{
"1", "2", "3",
"4", "5", "6",
"7", "8"
};

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

gridLayout = (GridLayout) findViewById(R.id.root);
bn_add = (Button) findViewById(R.id.add);

bn_add.setOnClickListener(new OnClickListener()
{

@Override
public void onClick(View source) {
Button bn = new Button(this);//这句报错

location++;
bn.setText(chars[location-1]);
bn.setPadding(10, 5, 0, 0);

GridLayout.Spec rowSpec = GridLayout.spec(location / 3 );
GridLayout.Spec columnSpec = GridLayout.spec(location % 3);

GridLayout.LayoutParams params = new GridLayout.LayoutParams(rowSpec, columnSpec);
gridLayout.addView(bn_add, params);
}
});
}
}
展开
 我来答
茄子豆角zz
2015-11-20
知道答主
回答量:26
采纳率:0%
帮助的人:7.3万
展开全部
把this换成MainActivity.this,因为你是在匿名内部类使用this,你的this是指OnClickListener
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BD小西瓜1208
2015-11-20 · 超过19用户采纳过TA的回答
知道答主
回答量:91
采纳率:50%
帮助的人:16.7万
展开全部
this改成MainActivity.this
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappf8wex6uc6qbwz
2015-11-20
知道答主
回答量:1
采纳率:0%
帮助的人:1180
展开全部
this改成MainActivity.this
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式