java - Main.this 修复此问题时遇到问题

标签 java android eclipse

我正在尝试做一个示例项目,但遇到错误。确切地说,我对应用程序开发非常陌生,但对 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/

相关文章:

java - 如何按时间戳对对象的 ArrayList 进行排序并获取最后五个元素

java - 能够创建带有 protected 构造函数的 var 吗?

java - Java编译器给出 “file not found”错误

java - Android:获取局域网中某服务器名称的IP地址

java - 动态 Xml(我认为)

java - 如何在Ubuntu的hadoop平台中执行jar文件?

java - 使用线程

java - android MultiAutoCompleteTextView - 在其中显示自定义 View

java - Facebook 在重新安装后登录时给出无效 token Facebook 异常

java - "type X[][] should explicitly be cast to Object[][] for the invocation of the varargs"