2014-02-24 70 views
2

我正在阅读Android的教程,我有一个实现抽象类OnClickListener的类。问题是,在教程中,当它重写方法onClick时,它只有一个参数,但我的eclipse显示错误,因为onClick方法需要两个参数。实现OnClickListener

下面我错了代码的教程,我该如何解决它?

public class MainActivity extends Activity implements OnClickListener { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    final Button button = (Button) findViewById(R.id.form_button); 
    button.setOnClickListener((android.view.View.OnClickListener) this); 
} 

@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; 
} 

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    switch (v.getId()) { 
    case R.id.form_button: 
     final EditText edit_name = (EditText) findViewById(R.id.edit_name); 
     final EditText edit_lastname = (EditText) findViewById(R.id.edit_lastname); 
     Bundle bundle = new Bundle(); 
     bundle.putString("name", edit_name.getText().toString()); 
     bundle.putString("lastname", edit_lastname.getText().toString()); 
     Intent form_intent = new Intent(getApplicationContext(), Form.class); 
     form_intent.putExtras(bundle); 
     startActivity(form_intent); 
     break; 
    } 

} 

} 
+1

onClick只需要一个参数,即视图确定您有正确的导入? – Raghunandan

+1

您必须导入错误的包 - onClick()只需要一个参数。你能告诉我们你的进口吗? – ucsunil

+0

好的,非常感谢我在导入包中错误。 –

回答

5

您需要导入

import android.view.View.OnClickListener 

,而不是

import android.content.DialogInterface.OnClickListener 

我猜你有DialogInterface.OnClickListener

错误的进口

onClick(DialogInterface dialog, int which)需要2 PARAM

但View.OnClickListener的onClick只需要1 PARAM即查看

http://developer.android.com/reference/android/view/View.OnClickListener.html

+0

谢谢。我花了至少一个小时的时间,自动包含导入,遵循Android Studio的提示并且无处可去。 –

0

或做如下

implements View.OnClickListener 
2

您可能会错误地导入onClickListener上DialogInterface。您必须导入android.view.onClickListener,因为Button是View的子类。

有关更多详细信息,请检查此link

相关问题