>

이름과 숫자를 포함하는 배열을 가진 객체를 찾으려고합니다-

public void showPlayerGameList(){
        playerTextView = findViewById(R.id.aPlayerBox);
        for(PlayerDetails aPlayer : playerListGame.myPlayers) {
            playerTextView.append(aPlayer.name + "\n");
        }
    }
}

그러나 다음과 같은 오류가 발생합니다 :

Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String com.example.android.footysortit.PlayerDetails.name' on a null object reference

PlayerDetails (2x String과 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);

아이디어는 사용자가 연락처를 선택하고 목록 내에서 이름을 표시하는 것이지만 매번 다른 연락처를 선택할 수 있으며 각 연락처를 목록에 추가해야합니다.

어떤 아이디어?

감사합니다


  • 답변 # 1

    플레이어를 추가 할 때 phone.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME) 의 결과를 확인하십시오  null이 아닙니다.

    현재 플레이어 이름으로 null 값이 설정되어있는 것 같습니다.

    아마도 다른 값을 사용하거나 null 대신 빈 문자열로 이름을 설정할 수 있습니다.

관련 자료

  • 이전 loops - 자체 + 사전 값/pharo로 변수 수정 - 잡담
  • 다음 C #에서 SAP 기록 스크립트를 얻는 방법