我刚刚开始使用android,我的java非常生锈.我记不起曾经见过像这样嵌套在另一个函数中的函数.有人可以向我解释究竟是什么,并解释为什么你会在这样的另一个函数中嵌套函数?
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
Log.v(Constants.LOGTAG, " " + ReviewList.CLASSTAG + " worker thread done, setup ReviewAdapter");
progressDialog.dismiss();
if ((reviews == null) || (reviews.size() == 0)) {
empty.setText("No Data");
} else {
reviewAdapter = new ReviewAdapter(ReviewList.this, reviews);
setListAdapter(reviewAdapter);
}
}
};
Run Code Online (Sandbox Code Playgroud)
好像我写了那个Java代码;).这是我在Manning书中解锁Android的一个例子 - http://code.google.com/p/unlocking-android/.虽然本书的目的不是详细介绍Java,而是专注于Android,但如果引起混淆,我会道歉.
这里的答案是现场的,这是故意的anon内部类,因为它没有在该上下文之外的任何其他地方使用.
我要补充一点,如果你刚开始使用Android,我会选择一本较新的书.Mark Murphy的CommonsWare书非常好(http://commonsware.com/Android/),他让他们保持最新状态(或者看看Unlocking Android第二版,我没有参与其中,并且没有阅读它所以不能推荐或不推荐,但曼宁正在努力,它可以在他们的网站上尽早访问).
对于一个作者推荐一本非他自己的书可能看起来很奇怪,但事实是现在有一些更好的方法可以在更新的API上做这些事情(这是在1.0级编写,并在事后测试1.5) ).不要误解我的意思,那本书在整体概念(生命周期,活动,意图等)方面仍然有很多价值(我感到自豪),但有更好/更容易/更新的方式获得完成了一些具体任务.
例如,看看AsyncTask(http://android-developers.blogspot.com/2009/05/painless-threading.html),它将为您节省很多处理程序/消息的痛苦.
(我会在这里评论,但我无法弄清楚如何评论而不是"回答",它可能与没有足够的代表有关?)
| 归档时间: |
|
| 查看次数: |
681 次 |
| 最近记录: |