【发布时间】:2011-12-18 06:38:44
【问题描述】:
我正在尝试从 PreferenceActivity 启动一个新 Activity。但是,它失败并显示“无法找到显式活动类。您是否在 AndroidManifest.xml 中声明了此活动?”
嗯,是的,我宣布了:
<application [......] android:debuggable="true">
<activity android:name=".AlarmSettings"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FlashLightActivity"></activity>
<receiver
android:name="AlarmReceiver"
android:process=":remote" >
</receiver>
</application>
AlarmSettings 是我的 PreferenceActivity。 AlarmSettings 以这种方式调用 FlashLightActivity:
Intent i = new Intent(AlarmSettings.this, FlashLightActivity.class);
startActivity(i);
这是 FlashLightActivity:
public class FlashLightActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.flashlight);
}
}
...我不知道该怎么办。有什么想法吗?
【问题讨论】:
-
在 Eclipse 中尝试
Project->Clean,然后重新运行。 -
这很奇怪。尝试从
.FlashLightActivity中删除开头的点并使用裸FlashLightActivity名称进行测试,或者尝试提供您的活动的完整包名称,例如com.example.FlashLightActivity。 -
它以完全相同的方式失败:S
-
该死! FlashLightActivity 类是否在同一个包中?您肯定知道developer.android.com/guide/topics/manifest/…,但它可以提供帮助……尝试了两边的完全限定名称(AndroidManifest 和 startActivity)?
-
尝试了所有组合......它不起作用。是的,完全限定名称是相同的。所以,如果代码没问题……我只能想一些奇怪的Eclipse问题
标签: java android android-activity preferenceactivity