在主应用程序项目中使用库中的活动

时间:2014-09-29 20:44:38

标签: android android-activity android-library

我正在开发一个android项目,我有一个有活动的库项目。

我有一个主应用程序项目,它引用库项目并尝试在库项目中启动活动。在图书馆项目中,我有以下活动:

public class DirectoryPicker extends Activity
{

    GridView gridView = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.directory_picker);

        gridView = (GridView)findViewById(R.id.directory_picker_gridview);

        DirectoryAdapter.directories.add("String1");
        DirectoryAdapter.directories.add("String2");
        DirectoryAdapter.directories.add("String3");
        DirectoryAdapter.directories.add("String4");

        gridView.setAdapter(new DirectoryAdapter());
    }
}

我正在尝试使用我的主应用程序项目中的以下内容启动活动。

protected OnPreferenceClickListener mPrefDefaultBackupClickListener = new OnPreferenceClickListener()
        {
            @Override
            public boolean onPreferenceClick(Preference preference)
            {
                Intent intent = new Intent(getActivity(), DirectoryPicker.class);
                startActivity(intent);
                return false;
            }
        };

在我的主应用程序项目AndroidManifest文件中,我添加了以下内容:

<activity android:name="com.MyCompany.Library.DirectoryPicker">

        </activity>

当我尝试启动活动时,我得到以下异常:

java.lang.NoClassDefFoundError: com.MyCompany.Library.DirectoryPicker

我看不出有什么理由不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我终于找到了问题。没有设法找到任何文档,只是试验和错误,发现我去了文件&gt;项目结构&gt;然后选择我的库并将范围从编译更改为提供,然后清理并重建活动然后正确启动的所有内容。