0

我的布局有一个按钮,我添加了一个侦听器。请参见下面的代码:

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 类型的封闭实例。

我已确保将 UserInfoActivity 活动添加到 Android 清单中,并且它与 ParseStarterProjectActivity 位于同一包中。这个 Stackoverflow 问题(没有可以访问 DonationsActivity 类型的封闭实例)描述了我的问题,但接受的答案对我不起作用。我不想要那种方法,因为在开始之前我需要在我的意图中填充项目。任何指针将不胜感激!

4

3 回答 3

3

change this line

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

to this

Intent i = new Intent(ParseStarterProjectActivity.this,UserInfoActivity.class);
于 2013-11-01T04:14:55.920 回答
1

意图语法

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

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

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

于 2013-11-01T04:20:53.940 回答
0

Try:

 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 points to current class. so change the extension of UserInfoActivity.

于 2013-11-01T04:14:56.280 回答