Android Eclipse中活动代码中的错误

Android Eclipse中活动代码中的错误,android,eclipse,android-activity,Android,Eclipse,Android Activity,我是编程新手,我不明白为什么每个public void onClick(View v){“和warning on”(new onClick listener); 不能在方法中声明方法 像这样改变结构 fizikaslapa.setOnClickListener(new OnClickListener); @Override public void onClick(View v) { Intent myIntent = new Intent(v.getContext(), fizikas

我是编程新手,我不明白为什么每个
public void onClick(View v){“和warning on”(new onClick listener);


不能在方法中声明方法

像这样改变结构

fizikaslapa.setOnClickListener(new OnClickListener);

@Override
public void onClick(View v) {
    Intent myIntent = new Intent(v.getContext(), fizikaslapa.class);
    v.getContext().startActivity(myIntent);
}
fizikaslapa.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent myIntent = new Intent(v.getContext(), fizikaslapa.class);
        v.getContext().startActivity(myIntent);
    }
});
像这样的事情

fizikaslapa.setOnClickListener(new OnClickListener);

@Override
public void onClick(View v) {
    Intent myIntent = new Intent(v.getContext(), fizikaslapa.class);
    v.getContext().startActivity(myIntent);
}
fizikaslapa.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent myIntent = new Intent(v.getContext(), fizikaslapa.class);
        v.getContext().startActivity(myIntent);
    }
});
现在,您正在创建一个
OnClickListener
匿名内部类实例,并在该类中声明
onClick()
方法

 matematikaslapa.setOnClickListener(new OnClickListener);
 @Override
 public void onClick(View v) {
    Intent myIntent = new Intent(v.getContext(), matematikaslapa.class);
    v.getContext().startActivity(myIntent);
 }

类似地,对于其他
OnClickListener的
。您使用的是一个无注释的内部类,并且您正在实现接口
OnClickListener

让您的活动类实现
OnClickListener

 matematikaslapa.setOnClickListener(this);
 fizikaslapa.setOnClickListener(this);
 ..// similarly for others 
然后

用“this”替换所有的“newonclicklistener”。不过,我建议您在开始编写代码之前先阅读一下。
public void onClick(View v)
{
    switch(v.getId())
    {
      case R.id.poga1 :
                Intent myIntent = new Intent(v.getContext(), matematikaslapa.class);
                v.getContext().startActivity(myIntent);
      break; 

      case R.id.poga2 :
                Intent myIntent = new Intent(v.getContext(), fizikaslapa.class);
                v.getContext().startActivity(myIntent);
      break; 
    }
}