如何在android上将一个不同类型的变量从一个函数传递给另一个函数?

时间:2011-03-25 19:52:24

标签: android android-maps

我有getFilmsBrowse函数,它应返回以下字段:

  • name(String)
  • description(String)
  • year(Int)

此函数的结果将用于另一个函数displayMovies。 我如何传递它们并能够使用displayMovies中的字段名称? 想要使用Map,但我不清楚如何初始化它。

4 个答案:

答案 0 :(得分:4)

你可以使用一个集合,但为什么不创建一个名为Film的类,私有成员变量名为name,description,year等,然后是访问器方法,如getYear()。然后你可以这样做:

Film film = getFilmsBrowse(...);
int year = film.getYear();

答案 1 :(得分:1)

您可以使用Bundle类。它就像Map,但它可以包含不同类型的值。

答案 2 :(得分:1)

创建一些将保存数据的模型类:

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中检索您的onCreate

Page p = (Page)getIntent().getExtras().getSerializable("Page");
Toast.makeText(this, "Name: " + p.getName() + ", Description:" + p.getDescription(), Toast.LENGTH_LONG).show();

答案 3 :(得分:0)

如果您从Activity移动到Activity,您将使用Intents和Bundle传递参数。如果您正在调用函数并重新调整原始活动,那么您将使用常规java