Android getIntent()。getExtras()有时会返回null

时间:2016-07-21 08:08:09

标签: android android-intent android-bundle

我正在浏览我的应用程序的Crashlytics日志,发现某些设备上存在NullPointerException,因为getIntent()。getExtras()返回null。

此行为仅在少数设备上出现,我无法重现此错误。我知道如果Bundle为null,我可以检查活动并阻止NullPointerException,但我更感兴趣的是找出这种行为的根本原因。

编辑:

来源 -

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Cursor c = (Cursor) parent.getAdapter().getItem(position);
            Intent intent = new Intent(getActivity(), SelectedTopicActivity.class);
            intent.putExtra("topicId", c.getLong(c.getColumnIndex(AppContract.TopicsEntry._ID)));
            startActivity(intent);
        }
    });

目的地 -

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_selected_topic);

    Bundle bundle = getIntent().getExtras();
    topicId = bundle.getLong("topicId");
    ...
}

如果游标为null,我会在源本身中得到错误。我不认为光标中的字段为空,否则该项目首先不会出现在列表中。

0 个答案:

没有答案