我正在尝试从MainActivity运行Processing类。我相信我正在正确运行我的意图,但我得到了错误:
12-17 22:53:44.221: E/AndroidRuntime(1904): FATAL EXCEPTION: main
12-17 22:53:44.221: E/AndroidRuntime(1904): Process: bard.edu.focus2, PID: 1904
12-17 22:53:44.221: E/AndroidRuntime(1904): android.content.ActivityNotFoundException: Unable to find explicit activity class {bard.edu.focus2/bard.edu.focus2.ProcessingInterface}; have you declared this activity in your AndroidManifest.xml?
12-17 22:53:44.221: E/AndroidRuntime(1904): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
12-17 22:53:44.221: E/AndroidRuntime(1904): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
12-17 22:53:44.221: E/AndroidRuntime(1904): at android.app.Activity.startActivityForResult(Activity.java:3424)
该类在我的清单中声明:
<activity
android:name="edu.bard.focus2.ProcessingInterface"
android:parentActivityName="edu.bard.focus2.MainActivity">
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
</intent-filter>
</activity>
这是我的意图:
runFocus = (Button)findViewById(R.id.buttonProcessing);
runFocus.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent(MainActivity.this,ProcessingInterface.class);
startActivityForResult(intent,START_PROCESSING);
}
}
事情是我的处理类(它自己正常运行)扩展了PApplet而不是Activity,它可能是错误的起源。 如果我是对的,我该怎么做才能解决它? 如果没有,有什么建议吗?
谢谢!
答案 0 :(得分:0)
据我所知,您必须延长Activity
,否则它无法正常工作 - 不是Context
,不是。 。 。 。好吧,很多很多东西。尝试方法in this tutorial instead。它将指导您使用特殊的Android启用的Processing版本。
答案 1 :(得分:0)
您没有在Manifest文件中添加新创建的Activity。 在标记
之前在清单文件中添加以下代码 <activity android:name=".newclassname" >
</activity>
或
<activity android:name="packagename.newclassname" >
</activity>
答案 2 :(得分:0)
我猜你根据你的日志给出了错误的包名。
变化:
<activity
android:name="edu.bard.focus2.ProcessingInterface"
android:parentActivityName="edu.bard.focus2.MainActivity">
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
</intent-filter>
</activity>
到
<activity
android:name="bard.edu.focus2.ProcessingInterface"
android:parentActivityName="bard.edu.focus2.MainActivity">
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
</intent-filter>
</activity>
或者,如果您的主要包装名称是bard.edu.focus2,那么您可以简单地写一下:
<activity
android:name=".ProcessingInterface"
>
</activity>