1

見積もりアプリケーションを作成していますが、特定のアクティビティをブックマークできるインテントをどのように持つことができるか疑問に思っていましたか? だから私が欲しいのは、ユーザーがボタンをクリックすると、アクティビティがブックマーク/お気に入りを保持する別のアクティビティにブックマークされることです。誰かが私にこれを説明できますか?それとも簡単なチュートリアル?

ここに私が持っているコードがあります: このコードを追加してボタンをプログラムし、別のアクティビティで新しいボタンを作成する方法を知りたいですか? : `Button btn=new Button(this);

btn.setId(btn);

btn.setBackgroundResource(R.drawable.image);

btn.setMinimumHeight(150);

btn.setMinimumWidth(150);

Relativelayout.addView(btn); `

ありがとう、どんな助けでも大歓迎です、私は学びたい初心者です.;)

4

3 に答える 3

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 に答える
1

Bookmarking ボタンがクリックされたときに、ブックマークされたアクティビティを参照する Bookmarks アクティビティ内にインテントを作成する jsut make というロジックが必要です。

Example:

アクティビティ 1 には、ブックマークというボタンがあります。ボタンをクリックすると、ブックマークであるアクティビティ 2 で、アクティビティ 1 を参照する新しいボタンが作成されます。

于 2012-08-20T22:44:59.613 に答える
0

問題が発生したかどうかはわかりませんが、アプリの設計が間違っているようです。単一のアクティビティで多くの引用 (誰かの引用?) を表示していると思われます。したがって、保存する必要があるのは、表示する見積もりの​​ ID だけであり、ユーザーがボタンを押したときに QuoteActivity を起動し、保存された見積もりをバンドルに渡します。

于 2012-08-20T22:17:19.030 に答える