按钮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
显然可以是你想要的任何东西,但你应该让它像v
, view
等有意义……
来自Docs
为了使其工作,该方法必须是公共的并接受View作为其唯一参数。
有关添加Buttons
和OnClick
的更详细说明, 请参阅此答案
首先引用您的按钮
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"
- 无法在webrtc android客户端中添加远程会话描述
- 使用OData时,如何加速Restlet for Android?
- 水平冻结一个表格列
- 如何在Android中以编程方式一个接一个地连接到多个Wifi网络?
- 下载时限制带宽
- 使用LinearLayout和Java中的TextView更改颜色(Android)
- 从两个日期android之间的Sqllite DB中检索数据
- 是否有针对Java的蓝牙上的任何TCP / IP堆栈实现,更具体的Android?
- java.lang.NullPointerException:尝试调用虚方法’java.lang.String android.net.Uri.getScheme()’