我对Android很新,我遇到了问题。我一直在找到No Activity来处理Intent错误。我试图通过点击按钮开始一项新活动。
我查看了所有其他答案,他们或者对问题非常具体,答案不适用于我的问题,或者是为了确保活动名称匹配,我的确如此。
清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.madonk.louisiana.festivals"
android:installLocation="auto"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Southwest"
android:label="@string/title_activity_southwest" >
</activity>
</application>
</manifest>
MainActivity
package com.madonk.louisiana.festivals; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button southwest = (Button) findViewById(R.id.button_southwest); southwest.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub startActivity(new Intent()); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
logcat的
07-22 21:08:35.179: E/AndroidRuntime(470): FATAL EXCEPTION: main
07-22 21:08:35.179: E/AndroidRuntime(470): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=.Southwest }
07-22 21:08:35.179: E/AndroidRuntime(470): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.app.Activity.startActivityForResult(Activity.java:2827)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.app.Activity.startActivity(Activity.java:2933)
07-22 21:08:35.179: E/AndroidRuntime(470): at com.madonk.louisiana.festivals.MainActivity$1.onClick(MainActivity.java:22)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.view.View.performClick(View.java:2485)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.view.View$PerformClick.run(View.java:9080)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.os.Handler.handleCallback(Handler.java:587)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.os.Handler.dispatchMessage(Handler.java:92)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.os.Looper.loop(Looper.java:123)
07-22 21:08:35.179: E/AndroidRuntime(470): at android.app.ActivityThread.main(ActivityThread.java:3683)
07-22 21:08:35.179: E/AndroidRuntime(470): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 21:08:35.179: E/AndroidRuntime(470): at java.lang.reflect.Method.invoke(Method.java:507)
07-22 21:08:35.179: E/AndroidRuntime(470): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
07-22 21:08:35.179: E/AndroidRuntime(470): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
07-22 21:08:35.179: E/AndroidRuntime(470): at dalvik.system.NativeStart.main(Native Method)
答案 0 :(得分:3)
您没有显示启动活动的源代码。根据LogCat输出,我的猜测是你正在尝试:
startActivity(new Intent(".Southwest"));
相反,请使用:
startActivity(new Intent(this, Southwest.class));
答案 1 :(得分:0)
您尚未发布任何代码,但我假设您在启动西南活动时可能正在创建Intent
这样的代码:
Intent intent = new Intent(".Southwest");
这会创建一个Intent
,其中ACTION =“。Southwest”。您想要启动一个特定的类,因此您需要创建一个明确的Intent
,如下所示:
Intent intent = new Intent(this, Southwest.class);
这将为特定类创建Intent
。
答案 2 :(得分:0)
张贴在这里帮助其他人偶然发现了这个
代码应该是
startActivity(new Intent(MainActivity.this, Southwest.class));