繁体   English   中英

动态创建onClickListener并开始新活动

[英]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 ,改变thisMyActivity.thisgetContext()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM