【发布时间】:2015-05-03 16:28:04
【问题描述】:
有一个基本类。为了简洁起见,我扔的太多了。在此活动开始时,一切正常。
public class MainActivity extends DrawerActivity {
protected Activity activity = this;
protected class GetDataFromMongoDb extends AsyncTask<String, Integer, ArrayList<CurrentNewsItem>> {
protected ArrayList<CurrentNewsItem> doInBackground(String... provider) {
//put data in array for adapter
}
protected void onPostExecute(final ArrayList<CurrentNewsItem> result) {
adapter = new RecyclerAdapter(result);
StaggeredGridLayoutManager llm = new StaggeredGridLayoutManager(UtilsScreen.getDisplayColumns((Activity) activity), StaggeredGridLayoutManager.VERTICAL);
rv.setLayoutManager(llm);
rv.setAdapter(adapter);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.activity_main, null, false);
mDrawer.addView(contentView, 0);
CurrentSection = ("news");
rv = (RecyclerView)findViewById(R.id.rv_main);
new GetDataFromMongoDb().execute(CurrentSection);
}
}
扩展
public class News extends MainActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.activity_news, null, false);
mDrawer.addView(contentView, 0);
CurrentSection = getIntent().getExtras().getString("section");
rv = (RecyclerView)findViewById(R.id.rv);
new GetDataFromMongoDb().execute(CurrentSection);
}
}
当你去新闻屏幕是空白的,点击得到错误:
E/InputEventReceiver:异常 调度输入事件。 E/MessageQueue-JNI:MessageQueue 中的异常 回调:handleReceiveCallback E/MessageQueue-JNI: java.lang.NullPointerException:尝试调用虚拟方法 '布尔值 android.support.v7.widget.RecyclerView$LayoutManager.canScrollVertically()' 在空对象引用上
我哪里错了?
【问题讨论】:
-
有解决办法吗?
-
你找到解决办法了吗?
标签: android android-recyclerview