[英]Dynamically created onClickListener and start of a new activity
我试图在运行时添加一些按钮,并希望分配一个触发新活动开始的OnClickListener。
但是我得到了一个The constructor Intent(new View.OnClickListener(){}, Class<CollectionDemoActivity>) is undefined
在我的IDE编辑器中The constructor Intent(new View.OnClickListener(){}, Class<CollectionDemoActivity>) is undefined
错误。
而startActivity(new Intent(this,CollectionDemoActivity.class));
被IDE接受并且当我从onStart()
方法调用时可以正常工作
但是我需要动态创建的按钮.....我在做什么错? 最好的选择是什么?
final LinearLayout ll=new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
for (int i = 1; i <= 10; i++) {
Button btn = new Button(this);
btn.setId(i);
final int id_ = btn.getId();
btn.setText("_button " + id_);
btn.setBackgroundColor(Color.GREEN);
ll.addView(btn, params);
Button btn1 = ((Button) ll.findViewById(id_));
btn1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(view.getContext(),
"Button clicked index = " + id_, Toast.LENGTH_SHORT)
.show();
startActivity(new Intent(this,CollectionDemoActivity.class));
}
});
this
匿名内部OnClickListener
指的正是这种周边类,而不是到Activity
。 假设活动名称MyActivity
,改变this
以MyActivity.this
或getContext()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.