Android Can';不要从库启动活动
我想从图书馆开始活动。我的小测试如下: 我将此代码放在主活动中这不是一个库:Android Can';不要从库启动活动,android,Android,我想从图书馆开始活动。我的小测试如下: 我将此代码放在主活动中这不是一个库: public class MainActivity extends Activity { MyTest myTest; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a
public class MainActivity extends Activity {
MyTest myTest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTest = new MyTest(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void helpPressed(View view) {
myTest.startNewActivity();
}
public void localHelpPressed(View view) {
Intent helpIntent = new Intent(this, LocalHelp.class);
startActivity(helpIntent);
}
}
public class MyTest {
Context context;
public MyTest(Context context) {
this.context = context;
}
public void startNewActivity() {
Intent helpIntent = new Intent(context, HelpActivity.class);
context.startActivity(helpIntent);
}
}
并将此代码写入库中的“myTest”:
public class MainActivity extends Activity {
MyTest myTest;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTest = new MyTest(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void helpPressed(View view) {
myTest.startNewActivity();
}
public void localHelpPressed(View view) {
Intent helpIntent = new Intent(this, LocalHelp.class);
startActivity(helpIntent);
}
}
public class MyTest {
Context context;
public MyTest(Context context) {
this.context = context;
}
public void startNewActivity() {
Intent helpIntent = new Intent(context, HelpActivity.class);
context.startActivity(helpIntent);
}
}
我将“HelpActivity”添加到库中,将LocalHelp添加到应用程序中
创建“LocalHelp”(通过调用localHelpPressed方法),但不创建“HelpActivity”(通过调用helpPressed方法),代码工作正常HelpActivity'出现以下错误:
01-16 23:49:17.940: E/AndroidRuntime(4736): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {test.activity/com.example.test.activity.library.HelpActivity}; have you declared this activity in your AndroidManifest.xml?
01-16 23:49:17.940: E/AndroidRuntime(4736): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1556)
01-16 23:49:17.940: E/AndroidRuntime(4736): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1431)
01-16 23:49:17.940: E/AndroidRuntime(4736): at android.app.Activity.startActivityForResult(Activity.java:3391)
我所尝试的是可能的吗对于一个库来说,创建一个在库内部的活动
现在(在我的实际应用程序中),我将帮助屏幕移动到project,并创建了一个回调,库在需要帮助屏幕时调用该回调。这是可行的,但听起来并不正确,而且包含库的每个项目都需要此回调方法。在清单文件中声明
帮助活动
<application ... >
<activity
android:name="com.example.test.activity" >...
...
明显的问题,但您是否确认已按照错误中的说明添加到AndroidManifest.xml?在AndroidManifest文件中声明了HelpActivity。