我正在做我的第一个Android应用。当我在使用USB线连接的Galaxy S4上运行我的应用程序时,它会崩溃。在添加第二个Activity之前,它不会崩溃。
我的代码包括logcat:http://pastebin.com/JMKpY859
我还将此代码添加到AndroidManifest.xml
<activity
android:name=".ActivityByDate"
android:label="@string/title_activity_activity_by_date" >
</activity>
答案 0 :(得分:0)
尽量避免复杂的编码模式。请在onCreate()
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
startActivity(new Intent(MainActivity.this, ActivityByDate.class));
finish();
}
});
答案 1 :(得分:0)
试试这个。
而不是使用:
button_m_date.setOnClickListener((View.OnClickListener)this);
button_m_series.setOnClickListener((View.OnClickListener)this);
仅限使用:
<强> button_m_date.setOnClickListener(本); 强>
<强> button_m_series.setOnClickListener(本); 强>
答案 2 :(得分:0)
Buddy,通过查看你的logcat,它显示:
Caused by: java.lang.ClassCastException: ch.motorsportcalendar.MainActivity cannot be cast to android.view.View$OnClickListener
基于answer of user3475933,我想你在写:
button_m_date.setOnClickListener((View.OnClickListener) this);
我想你正试图在视图中添加一个按钮,并且一个监听器onClick到它。不是吗?当您将 setOnClickListener 作为参数传递此时会出现此问题,但此指的是当前类(从活动)。 活动是管理整个视图的类,不能用作侦听器,因为它不是视图。所以,要纠正你的行,写下这样的东西:
Button button_m_date = (Button)findViewById(R.id.<you_button_id>);
button_m_date.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// action instructions here...
}
});
请注意,您甚至不需要创建命名侦听器。它可以在 setOnClickListener 方法中匿名创建。
=&GT;你的错是你试图将 View.OnClickListener 投射到活动:
(View.OnClickListener) this
希望它有所帮助。