我目前正在使用Dexafree的MaterialList库来创建卡片列表。根据我对其工作原理的理解,MaterialList本质上是一个Recyclerview。
我正试图在其中一张牌中找到一个物品。例如,
((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中不存在任何人,但任何其他方式都不起作用。
答案 0 :(得分:0)
您正在调用序列中的方法,而不检查它们的值是否实际有效。
逐个分解并null检查可以返回null的所有内容,直到找到根本原因。
我最好的猜测是你试图检索一个不存在的ID,或者,组件中的文本为null,而toString()调用是通过调用getText()来抛出NPE的,绝对可以返回null。