1

我已经做了一个按钮MainActivitySecondActivity

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="178dp"
    android:layout_toRightOf="@+id/textView1"
    android:onClick="onClick"
    android:text="Moj przycisk" />

和方法:

public void onClick(View view){
    startActivity(new Intent("com.example.telefon2.SecondActivity"));
}

在清单文件中,第二个活动的名称是:

<activity
    android:name="com.example.telefon2.SecondActivity"
    android:label="@string/title_activity_second" >
</activity>

但是当我点击按钮时,我得到一个错误:

03-12 18:56:08.606: E/AndroidRuntime(1154): FATAL EXCEPTION: main
03-12 18:56:08.606: E/AndroidRuntime(1154): java.lang.IllegalStateException: Could not execute method of the activity
03-12 18:56:08.606: E/AndroidRuntime(1154):     at android.view.View$1.onClick(View.java:2683)
03-12 18:56:08.606: E/AndroidRuntime(1154):     at android.view.View.performClick(View.java:3110)

我究竟做错了什么?

4

1 回答 1

2
public void onClick(View view){
        startActivity(new Intent("com.example.telefon2.SecondActivity"));
    }

应该

public void onClick(View view){
        startActivity(new Intent(view.getContext(), SecondActivity.class));
    }

由于您没有为您的 SecondActivity 定义 Intent-Action(如清单所示)。

如果您确实想导出此活动,请务必给它一个带有您想要的操作的 Intent-filter:

<activity
            android:name="com.example.telefon2.SecondActivity"
            android:label="@string/title_activity_second" >
<intent-filter>
            <action android:name="com.example.telefon2.SecondActivity"/>
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
 </activity>

然后就可以继续使用

startActivity(new Intent("com.example.telefon2.SecondActivity"));
于 2013-03-13T01:45:48.427 回答