无法访问另一个项目中的库活动 [英] Unable To Access library activity in another project
问题描述
我正在尝试将库活动访问到另一个项目(在tabhost中) 并且每个标签调用不同的活动.)但其抛出异常
I am trying to access library activity into another project(In tabhost and each tab call different activity.) but its throwing exception
Caused by: android.content.ActivityNotFoundException: Unable to find
explicit activity class
{com.themontcalm.droid.activity/com.themontcalm.droid.lib.activity.ReservationTab};
have you declared this activity in your AndroidManifest.xml?
其中:-
com.themontcalm.droid.lib.activity.ReservationTab
是一个 图书馆项目.和com.themontcalm.droid.activity
启动器 我正在访问图书馆活动的项目
where :-
com.themontcalm.droid.lib.activity.ReservationTab
is a library project. Andcom.themontcalm.droid.activity
launcher project where i am accessing library activity
我访问项目库的代码:---
code where i am accessing my project library:---
package com.themontcalm.droid.activity;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.TabHost;
public class HomeScreen extends TabActivity implements OnClickListener {
TabHost tabHost;
ImageButton location, contacts, explore;
Intent intent;
//LocationGB locationActivity = new LocationGB();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_screen);
//LocationFactory.getInstance().setLocationActivity(LocationGB.class);
// addListenerOnButton();
location = (ImageButton) findViewById(R.id.location);
contacts = (ImageButton) findViewById(R.id.contacts);
explore = (ImageButton) findViewById(R.id.explore);
location.setOnClickListener(this);
contacts.setOnClickListener(this);
explore.setOnClickListener(this);
Resources res = getResources(); // Resource object to get Drawables
// The activity TabHost
TabHost.TabSpec spec; // Reusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost = getTabHost();
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(getBaseContext(), com.themontcalm.droid.lib.activity.ReservationTab.class);
spec = tabHost.newTabSpec("RESERVATION")
.setIndicator("", res.getDrawable(R.drawable.testing))// ,
// res.getDrawable(R.drawable.testing)
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, com.themontcalm.droid.lib.activity.GalleryTabActivity.class);
spec = tabHost.newTabSpec("MODIFY")
.setIndicator("", res.getDrawable(R.drawable.testing))// ,res.getDrawable(R.drawable.testing)
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, com.themontcalm.droid.lib.activity.VideoTabActivity.class);
spec = tabHost.newTabSpec("VIDEO")
.setIndicator("", res.getDrawable(R.drawable.testing))// ,
// res.getDrawable(R.drawable.testing)
.setContent(intent);
tabHost.addTab(spec);
// set tab which one you want open first time 0 or 1 or 2
tabHost.setCurrentTab(0);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v == location) {
// intent = new Intent(HomeScreen.this, LocationGB.class);
// HomeScreen.this.startActivity(intent);
} else if (v == contacts) {
intent = new Intent(HomeScreen.this, com.themontcalm.droid.lib.activity.ContactInfo.class);
HomeScreen.this.startActivity(intent);
} else if (v == explore) {
intent = new Intent(HomeScreen.this, com.themontcalm.droid.lib.activity.ExplorePropertyActivity.class);
HomeScreen.this.startActivity(intent);
}
}
}
推荐答案
我怀疑清单文件中的
<activity>
标记声明是否有效,但是 尝试将其包含在清单文件中:
I doubt that
<activity>
tag declaration in manifest file will work but give a try and do include this in manifest file:
<uses-library android:name="com.themontcalm.droid.lib.activityr"
android:required="true" />
这篇关于无法访问另一个项目中的库活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!