java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTextColor(android.content.res.ColorStateList)' on a null object reference
viewHolder.name.setTextColor(selectedTextColor);
Π² BaseDescribeableDrawerItem ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ bindViewHelper (viewHolder). ΠΠΎΠ³Π΄Π° Ρ ΠΏΡΡΠ°ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ cath, ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ (Π½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΡΠΈΠΊΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ)@sonhvp ΠΈΠ·Π²ΠΈΠ½ΠΈΡΠ΅ Π·Π° ΠΏΠΎΠ·Π΄Π½ΠΈΠΉ ΠΎΡΠ²Π΅Ρ.
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: /.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΈΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? Π―ΡΠΈΠΊ Π½Π΅ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΈ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½?
ΠΈΠ»ΠΈ Π²Π°Ρ ΡΠΎΠ²Π°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅, ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΠΊΠ΅Ρ? ΠΈΠ»ΠΈ ΡΠ°ΠΊΠΎΠΉ?
ΠΠΎΡΠ»Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΠ». Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ±ΠΎΡ. ΠΠ°ΠΊ Π²Ρ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌ ΠΌΠ°ΠΊΠ΅ΡΠ° ΡΠ΅ΡΠ΅Π· ΠΈΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. Π― ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΏΡΠΎΠ²Π΅ΡΡΠ» ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π», Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΠ½ΡΡΡ ΠΏΠΎΡΠ΅ΠΌΡ. Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΌΠΎΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ: https://github.com/sonhvp/test_project.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ.
@sonhvp, ΡΠ°ΠΊ ΡΡΠΎ, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Ρ ΠΏΠΎΠ½ΡΠ», ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ materialDrawer
Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ com.mikepenz.materialdrawer.R
. ΠΠΎΠ³Π΄Π° Π²Π°ΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ com.sonhvp.test
. ΠΠΎΡΡΠΎΠΌΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» xml
, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, Π½ΠΎ BaseViewHolder
ΠΏΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ materialdrawer
. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΡ, ΠΈ ΠΎΠ½ΠΈ ΠΎΡΡΠ°Π½ΡΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅:
init {
this.icon = view.findViewById(R.id.material_drawer_icon)
this.name = view.findViewById(R.id.material_drawer_name)
this.description = view.findViewById(R.id.material_drawer_description)
}
Π½Π° Π²Π°Ρ ViewHolder
Π² OverflowMenuDrawerItem
(ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΠΎ R
Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°)
ΠΡΠ»ΠΈ Ρ Π½Π΅ ΠΎΡΠΈΠ±Π°ΡΡΡ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠΎΠ»Ρ R
Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ, Π° ΡΠ΅ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΈ Π±ΡΠ΄ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ. (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΡΠΎ ΠΌΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)
ΠΠ΄ΠΎΠ±Π°Π²ΠΎΠΊ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΏΠ»Π°Π½ Google ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΈΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.