INTENT和SETTINGS活动给出无法解决构造函数错误

时间:2015-04-14 02:40:47

标签: android android-intent settings

处理我的第一个Android项目,需要为程序设置添加设置活动。我用一个按钮创建了一个MainActivity来测试设置活动。

我从Android Studio创建了默认的SettingsActivity(没有改变任何内容)。

尝试通过点击主要活动中的按钮来调用“设置活动”。得到以下错误:

Cannot Resolve Constructor 'Intent(android.view.View.OnClickListener...

“设置活动”称为ProgramSettingsActivity,是AndroidStudio目前创建的默认代码。它的开头是......

    public class ProgramSettingsActivity extends PreferenceActivity {
        private static final boolean ALWAYS_SIMPLE_PREFS = false;

        @Override
        protected void onPostCreate(Bundle savedInstanceState) {
            super.onPostCreate(savedInstanceState);

            setupSimplePreferencesScreen();
        }
     ...

mainActivity中的代码如下:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button=(Button)findViewById(R.id.myButton);
        button.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v) {
                Intent i = new Intent(this,ProgramSettingsActivity.class);
                startActivity(i);
            }
        });
    }
    ...

不知道从哪里开始......我显然错过了一些明显的东西。

感谢您的帮助......

1 个答案:

答案 0 :(得分:2)

使用Intent i = new Intent(MainActivity.this,ProgramSettingsActivity.class);

在匿名类new Button.OnClickListener(){} this内引用此类的实例,而不是其封闭的MainActivity类。这就是它发生的方式。