注意:这段代码适用于我的应用程序中的一个片段。相同的适配器,但是具有getActivity()。getApplicationContext()而不是Activity.this。
我正在尝试在活动中执行相同的操作,但是我在setAdapter线上不断获得NPE。假设Arraylist项由另一个线程填充。
handler.post(new Runnable() {
@Override
public void run() {
//test if item Arraylist has stuff in it
for (MainGridItem t: item) {
System.out.println(t.getUrl()+t.getName()+t.getLinkUrl());
}
SwingBottomInAnimationAdapter swingBottomInAnimationAdapter = new SwingBottomInAnimationAdapter(new GridViewAdapter(GridViewActivity.this, item));
swingBottomInAnimationAdapter.setAbsListView(activity_grid);
assert swingBottomInAnimationAdapter.getViewAnimator() != null;
swingBottomInAnimationAdapter.getViewAnimator().setInitialDelayMillis(DELAY);
activity_grid.setAdapter(swingBottomInAnimationAdapter);
最佳答案
与答案无关,但
仅仅是知识共享和解决更严重的内存管理错误
避免依赖注入框架
正如Google官方网站所说。
https://developer.android.com/training/articles/memory.html#DependencyInjection