[英]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.