Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio-添加第二个活动后应用程序崩溃_Android - Fatal编程技术网

Android Studio-添加第二个活动后应用程序崩溃

Android Studio-添加第二个活动后应用程序崩溃,android,Android,我正在做我的第一个Android应用程序。当我在连接USB电缆的Galaxy S4上运行应用程序时,它会崩溃。在添加第二个活动之前,它不会崩溃 我的代码包括logcat: 我还将此代码添加到AndroidManifest.xml中 <activity android:name=".ActivityByDate" android:label="@string/title_activity_activity_by_date" > </activity

我正在做我的第一个Android应用程序。当我在连接USB电缆的Galaxy S4上运行应用程序时,它会崩溃。在添加第二个活动之前,它不会崩溃

我的代码包括logcat:

我还将此代码添加到AndroidManifest.xml中

<activity
        android:name=".ActivityByDate"
        android:label="@string/title_activity_activity_by_date" >
</activity>

尽量避免复杂的编码模式。在
onCreate()中尝试以下代码段

试试这个

而不是使用:

按钮\u m_date.setOnClickListener((View.OnClickListener)this)

按钮\u m_series.setOnClickListener((View.OnClickListener)this)

仅限使用:

按钮\u m_date.setOnClickListener(此)


button_m_series.setOnClickListener(此)

伙计,通过查看日志,它显示:

Caused by: java.lang.ClassCastException: ch.motorsportcalendar.MainActivity cannot be cast to android.view.View$OnClickListener
基于这个,我想你在写:

button_m_date.setOnClickListener((View.OnClickListener) this);
我想您正试图在视图中添加一个按钮,然后单击一个侦听器。不是吗?当调用setOnClickListenerthis作为参数传递,但this引用当前类(从活动扩展而来)时,就会出现问题活动是管理整个视图的类,不能用作侦听器,因为它不是视图。因此,要更正您的行,请写以下内容:

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...
    }
});

希望能有所帮助。

日志输出在哪里?在pastbin链接中,这里有直接链接:如果打开此链接,我找不到代码:您将看到我的两个活动类xml和catlog。很抱歉这么复杂,但我没有找到如何添加扰流板或类似的东西。
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...
    }
});
(View.OnClickListener) this