处理我的第一个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);
}
});
}
...
不知道从哪里开始......我显然错过了一些明显的东西。
感谢您的帮助......
答案 0 :(得分:2)
使用Intent i = new Intent(MainActivity.this,ProgramSettingsActivity.class);
在匿名类new Button.OnClickListener(){}
this
内引用此类的实例,而不是其封闭的MainActivity
类。这就是它发生的方式。