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

时间:2015-01-27 20:09:01

标签: android

我正在做我的第一个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>

3 个答案:

答案 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

希望它有所帮助。