我正在尝试做一个示例项目,但遇到错误。确切地说,我对应用程序开发非常陌生,但对 IT 来说并不陌生。我正在学习教程,但讲师使用的 eclipse 和 ADT 版本相当旧且不同。
在很大程度上,由于我的编程经验,我能够绕过它,但我无法克服这个问题,在继续之前我需要这样做,错误消息是这样的
“main 无法解析为类型”
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
Button b = (Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(main.this, second.class));
}
});
}
}
问题是讲师做了完全相同的事情并且没有问题,我认为这必须与他使用的旧版本做一些事情。
帮助任何人吗?
谢谢
最佳答案
尝试使用MainActivity.this
代替main.this
this
是一个 Java 关键字,指示当前对象。在您的情况下,this
指的是OnClickListener
实例。但您确实想引用 Activity 类实例。要引用外部类,它将是 MainActivity.this
关于java - Main.this 修复此问题时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21367628/