在android应用程序中为活动/类添加书签

时间:2012-08-20 22:13:25

标签: android eclipse android-activity bookmarks

好吧我正在制作一个引用应用程序,并想知道我怎么能有一个可以为特定活动添加书签的意图? 所以我想要的是当用户点击按钮时,它将活动书签到另一个包含书签/收藏夹的活动中。 谁可以给我解释一下这个? 还是一个简单的教程?

这是我的代码: 我想知道如何添加此代码来编程按钮在另一个活动中创建一个新按钮? : `Button btn = new Button(this);

btn.setId(BTN);

btn.setBackgroundResource(R.drawable.image);

btn.setMinimumHeight(150);

btn.setMinimumWidth(150);

Relativelayout.addView(BTN); `

谢谢,非常感谢任何帮助, 我只是一个想要学习的菜鸟。;)

3 个答案:

答案 0 :(得分:1)

它需要一些逻辑,当点击书签按钮时,jsut make,在书签活动中创建一个引用书签活动的意图。

Example:

活动1有一个名为Bookmark的按钮。当我单击按钮时,在作为书签的活动2中,创建一个引用活动1的新按钮。

答案 1 :(得分:1)

我认为你的情况太复杂了。听起来您只想创建并存储类列表,然后从另一个活动访问该列表。

首先,当用户点击按钮记录书签时,我建议在SharedPreferences中存储该类的名称。 SharedPreferences允许您将名称 - 值对存储到文件中,以便以后从任何活动中访问。

SharedPreferences sp = this.getSharedPreferences("file_name", MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("class_name", "your.class.path.TestClassActivity");
editor.commit();

稍后,您可以访问所有已保存的类名。有关获取SharedPreferences文件中所有密钥的方法,请参阅here

最后,一旦拥有了所有的类名,就可以使用它们来构建你的意图。

String myClass = "TestClassActivity";
Class<?> cl = null;
try {
    cl = Class.forName(myClass);
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}
Intent myIntent = new Intent(getApplicationContext(), cl);
startActivity(myIntent);

编辑: 我已经创建了一个使用上面的示例项目。它可以从www.sourceforge.net/projects/androidbookmark /

下载

答案 2 :(得分:0)

不确定我遇到了您的问题,但看起来您的应用设计错误了。我怀疑你在单个活动中显示很多引用(引用某人?)。所以你需要存储的只是要显示的引用的id,然后,当用户点击按钮时,激活你的QuoteActivity并将存储的引用传递给bundle。