按钮onClick错误…找不到方法

我似乎无法从我的Button开始一个新的Activity ,我在这里搜索了答案,但似乎无法解决问题。 我希望有人有一个简单的解决方案。 提前致谢。

这是错误:

 E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.IllegalStateException: Could not find a method openSearch(View) in the activity class dk.mathias.splitcab.MainActivity for onClick handler on view class android.widget.Button with id 'btnStartSearch' 

MainActivity.java

 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void openSearch(){ Intent openSearchIntent = new Intent(MainActivity.this, StartSearch.class); startActivity(openSearchIntent); } 

AndroidManifest.xml中

        

activity_main.xml中

 

StartSearch.java

 public class StartSearch extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start_search); } } 

问题出在您的方法签名中

 public void openSearch(){ 

它应该有一个,只有一个参数,这是一个View

将其更改为

 public void openSearch(View v){ 

v显然可以是你想要的任何东西,但你应该让它像vview等有意义……

来自Docs

为了使其工作,该方法必须是公共的并接受View作为其唯一参数。

有关添加ButtonsOnClick的更详细说明, 请参阅此答案

首先引用您的按钮

  search = (Button) findViewById(R.id.btnStartSearch); 

然后为按钮实现onClick列表器,如下所示

  search.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent openSearchIntent = new Intent(MainActivity.this, StartSearch.class); startActivity(openSearchIntent) } }); 

确保从XML文件中删除此行

  android:onClick="openSearch"