我在MainActivity
做了一个按钮,转到SecondActivity
。
<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)
我做错了什么?
答案 0 :(得分: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过滤器:
<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"));