我目前正在使用Dexafree的MaterialList库来创建卡片列表。根据我对它工作原理的理解,MaterialList本质上是一个回收器视图。
我正在尝试在其中一张卡片中获取一个对象。举个例子,
((EditText) findViewById(R.id.edittext_doestitlematch_confirm_item_specs)).getText().toString()
但是,这会产生 NPE。我尝试了其他解决方案,例如
((EditText) mListView.getLayoutManager().findViewByPosition(i).getRootView().findViewById(R.id.edittext_doestitlematch_confirm_item_specs)).getText().toString()
这似乎也行不通。有人有什么想法吗?我有一种感觉,该视图在RecyclerView中不存在任何人,但是任何其他获取它的方法都不起作用。
您正在按顺序调用大量方法,而从未检查过它们的值是否实际有效。
逐个分解并 null 检查所有可以返回 null 的内容,直到找到根本原因。
我最好的猜测是,您要么尝试检索不存在的 ID,要么来自组件的文本为 null,并且 toString(( 调用是通过调用 getText(( 抛出 NPE 的,这绝对可以返回 null。