2015-04-22 134 views
5

这是我的代码是想改变按下按钮一些文字: -类必须被声明为抽象或实现抽象方法错误

public class MyActivity extends ActionBarActivity { 
    TextView txtview; 
    Button butto; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 
     ImageView imageView = (ImageView) findViewById(R.id.image); 
     txtview = (TextView) findViewById(R.id.text); 
     butto = (Button) findViewById(R.id.buttn); 

     butto.setOnClickListener(new View.OnClickListener() { 

       public void Onclick(View paramView) { 
       txtview.setText("You Clicked it!"); 
      } 
     }); 

    }} 

View.OnClickListener被强调,并给我的错误“类必须要么被宣布为抽象或实施抽象方法“。这段代码大部分都是从互联网上复制过来的,并且假设工作正常。可能它只是一个Android Studio错误。我怎样才能使它工作?

+0

它应该是'@Override public void onClick(View v){}' –

回答

9

View.OnClickListener必须实现功能onClick()否则你的类应该是抽象的,这样你就可以实现一些子类的onClick()功能。但在你的情况下,你犯了一个拼写错误。它应该是onClick()而不是Onclick();

7

你有方法名称错误:

public void Onclick(View paramView) 

应该

public void onClick(View paramView) 

以下的Java命名约定可以帮助你。

+0

谢谢!有效! – BrownMonkey300

1

技巧:在onClick(View)之上加@Override。如果没有@Override,警告意味着您没有执行onClickListener

+0

如何制作annonoymous内部类抽象? –

+0

对不起,什么?恐怕我没有得到它。 – SilentKnight

相关问题