我正在尝试浏览一个对象,其中包含一个包含名称和数字 -
的数组 public void showPlayerGameList(){
playerTextView = findViewById(R.id.aPlayerBox);
for(PlayerDetails aPlayer : playerListGame.myPlayers) {
playerTextView.append(aPlayer.name + "\n");
}
}
}
但是我收到以下错误:
引起:java.lang.NullPointerException:尝试从字段读取 'java.lang.String com.example.android.footysortit.PlayerDetails.name' 在空对象引用上
我添加播放器的方式是PlayerDetails的对象(只包含2x字符串和Int):
if(phone.moveToFirst()) {
PlayerDetails player = new PlayerDetails(); //TODO turn this into a loop to add each player the user picks and then display it
player.name = phone.getString(phone.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
// player.number =phone.getString(phone.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
playerListGame.addPlayer(player);
这个想法是让用户选择一个联系人,他们的名字显示在列表中,但他们每次都可以选择不同的联系人,每个联系人都应该添加到列表中。
有什么想法吗?
谢谢
答案 0 :(得分:0)
添加播放器时,请检查phone.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)
的结果是否为空。
目前似乎将空值设置为玩家名称。
也许你可以尝试另一个值,或者将名称设置为空字符串而不是null。