我正在尝试使用按钮进入第二个活动。这是代码:
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
时,我没有收到任何错误。为什么会这样?
答案 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);
}
});