1

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

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

btn.setId(btn);

btn.setBackgroundResource(R.drawable.image);

btn.setMinimumHeight(150);

btn.setMinimumWidth(150);

相对布局.addView(btn); `

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

4

3 回答 3

1

它需要一些逻辑,当单击 Bookmarking 按钮时,在 Bookmarks 活动中创建一个指向书签活动的意图。

Example:

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

于 2012-08-20T22:44:59.613 回答
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 文件中所有键的方法,请参见此处。

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

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/ 下载

于 2012-08-20T23:23:59.373 回答
0

不确定我有没有遇到您的问题,但看起来您的应用程序设计有误。我怀疑您在单个活动中显示了许多引用(引用某人?)。因此,您需要存储的只是要显示的报价的 id,然后,当用户点击按钮时,触发您的 QuoteActivity 并在捆绑中传递存储的报价。

于 2012-08-20T22:17:19.030 回答