Android重构小方法从对象中断返回String

时间:2015-02-13 00:54:03

标签: android pojo

所以我有一个有

的课程
String city, state;
public String getCity() {return city;} public String getState(){get state;}

如果我改变这个类,将城市和州替换为包含两个字符串名称和状态的类城市

City city;
public String getCity() { return city.getName();}
public String getState() {return city.getState();}

它停止工作。它只是在启动画面后没有转移到我的下一个意图,没有错误。 android是否使用构造函数?或者使用某种直接的字段访问而不是我不知道的getter?

谢谢!

它似乎很愚蠢我不明白。我也没有任何错误。

这些字段所在的类(Tour)以及City类是我用来在列表视图中显示的最简单的pojos。我在启动画面中加载List,然后将一个intent传递给Activity,并列出它们的列表视图。当city和state都是Tour中的字符串变量时,它可以工作。当我用具有名称和状态字符串成员变量的类城市替换城市和州时,下一个意图永远不会显示。它只是坐在闪屏上。这是唯一的改变。

Intent intent = new Intent(SplashActivity.this, TourListActivity.class);
intent.putExtra(TourList.class.getCanonicalName(), tours);
startActivity(intent); //this line starts but nothing else is ever called

耶。如果我删除logcat过滤器,我会在上一次特定于应用程序的日志消息之后得到这个消息

02-12 20:28:43.975    826-31520/? W/ContextImpl﹕ Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1510 com.android.server.InputMethodManagerService$4.run:2772 java.lang.Thread.run:841 <bottom of call stack> <bottom of call stack>

但是当我读到它时,它确实是真的。但是那个简单的pojo改变会导致什么呢?

1 个答案:

答案 0 :(得分:0)

我的城市课程没有实现Serializable。使用Intent传递的每个类都必须实现java.io.Serializable