为什么“这个”给出错误?

时间:2017-06-22 14:58:22

标签: java android android-intent

我正在尝试使用按钮进入第二个活动。这是代码:

   public class MainActivity extends AppCompatActivity {

    Button login;

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

        login=(Button) findViewById(R.id.login);

        login.setOnClickListener(new View.OnClickListener()
        {

            @Override
            public void onClick(View v) {
                Intent i=new Intent();
                i.setClassName(this,"com.example.ankit.layouts.SecondAtivity");
            }
        });
    }
}

我在i.setClassName()收到错误,因为“无法解析此方法”,但是当我使用MainActivity.this时,我没有收到任何错误。为什么会这样?

2 个答案:

答案 0 :(得分:2)

this不起作用,因为您所在的OnClickListener类型的匿名类不是setClassName所期望的。在编写MainActivity.this时,您明确告诉java从this类型的封装类中获取MainActivity

答案 1 :(得分:0)

使用以下代码

login.setOnClickListener(new View.OnClickListener()
        {

            @Override
            public void onClick(View v) {
                Intent i=new Intent(MainActivity.this,SecondAtivity.class);
                startActivity(i);
            }
        });