无法使用2个参数创建Intent(X.class,Y.class)

时间:2013-11-01 04:10:50

标签: android android-intent

我的布局有一个按钮,我添加了一个监听器。请参阅以下代码:

Button submit = (Button)findViewById(R.id.submitBtn);
submit.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v) {
        Intent i = new Intent(ParseStarterProjectActivity.this,UserInfoActivity.this);
        i.putExtra("dummy", dummyData);
        startActivityForResult(i,0);
    }
});

但是,我收到以下错误消息:

  1. 构造函数Intent(ParseStarterProjectActivity,UserInfoActivity)未定义
  2. 在范围内无法访问UserInfoActivity类型的封闭实例。
  3. 我已确保将UserInfoActivity活动添加到Android Manifest,并且它与ParseStarterProjectActivity位于同一个包中。此Stackoverflow问题(No enclosing instance of the type DonationsActivity is accessible)描述了我的问题,但接受的答案对我不起作用。我不想要这种方法,因为我需要在开始之前填充我的意图中的项目。任何指针都将非常感谢!

3 个答案:

答案 0 :(得分:3)

更改此行

Intent i = new Intent(ParseStarterProjectActivity.this,UserInfoActivity.this);

到这个

Intent i = new Intent(ParseStarterProjectActivity.this,UserInfoActivity.class);

答案 1 :(得分:1)

意图语法

Intent i = new Intent(CurrentClassName.this,CallingClassName.class);
i.putExtra("dummy",dummyData);
startActivityForResult(i,0);

了解意图的目的是什么以及如何使用

http://developer.android.com/guide/components/activities.html

答案 2 :(得分:0)

尝试:

 Intent i = new Intent(ParseStarterProjectActivity.this,UserInfoActivity.class);
    Button submit = (Button)findViewById(R.id.submitBtn);
    submit.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v) {
           // you can initialize intent to outside of this event
            i.putExtra("dummy", dummyData);
            startActivityForResult(i,0);
        }
    });

this指向当前班级。所以更改UserInfoActivity

的扩展名