getFilmsBrowse 関数があり、次のフィールドを返す必要があります。
- 名前 (文字列)
- 説明 (文字列)
- 年 (整数)
- 等
この関数の結果は、別の関数 displayMovies で使用されます。それらを渡し、displayMovies でフィールドの名前を使用できるようにするにはどうすればよいですか? 同じように使用したかったMap
のですが、それを初期化する方法がわかりません。
getFilmsBrowse 関数があり、次のフィールドを返す必要があります。
この関数の結果は、別の関数 displayMovies で使用されます。それらを渡し、displayMovies でフィールドの名前を使用できるようにするにはどうすればよいですか? 同じように使用したかったMap
のですが、それを初期化する方法がわかりません。
コレクションを使用することもできますが、name、description、yearなどのプライベートメンバー変数を使用してFilmというクラスを作成し、getYear()などのアクセサーメソッドを作成してみませんか。次に、これを行うことができます:
Film film = getFilmsBrowse(...);
int year = film.getYear();
Bundle
これにはクラスを使用できます。のようなものMap
ですが、さまざまなタイプの値を含めることができます。
データを保持するいくつかのモデル クラスを作成します。
public class Page implements Serializable {
private String name;
private String description;
//and so on...
public Page(String name, String description) {
this.name = name;
this.description = description;
}
public String getName() {
return name;
}
public String getDescription() {
return description;
}
}
オブジェクトを作成Page
し、コンストラクターを介してデータ (名前、説明) を入力できるようになりました。必要に応じて、いくつかのセッターを作成します。
Page p = new Page("James", "Hello World");
startActivity(new Intent(context, MyActivity.class).putExtra("Page", p));
メソッドPage
でMyActivity
in を取得します。onCreate
Page p = (Page)getIntent().getExtras().getSerializable("Page");
Toast.makeText(this, "Name: " + p.getName() + ", Description:" + p.getDescription(), Toast.LENGTH_LONG).show();
アクティビティからアクティビティに移動する場合は、インテントとバンドルを使用してパラメータを渡します。関数を呼び出して元のアクティビティに戻る場合は、従来のJavaを使用します