Kotlin에서 ArrayAdapter를 초기화 할 수없는 이유는 무엇입니까?

사용자 7142686

ArrayAdapter문자열 배열을 사용하여 초기화하고 counties싶지만 앱을 실행할 때 오류 메시지가 나타납니다. 내 코드는 다음과 같습니다.

class EnglandFragment : Fragment() {

    // Access a Cloud Firestore instance from your Activity
    val db = FirebaseFirestore.getInstance()
    lateinit var adapter : ArrayAdapter<String>

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val root = inflater.inflate(R.layout.fragment_england, container, false)

        var mContext: Context? = null
        mContext = getActivity() as CountriesActivity
        mContext.initializeCustomActionBar(R.drawable.england_flag, R.string.title_counties)
        var counties : Array<String>

        val docRef = db.collection("UKSites").document("England")
        docRef.get()
            .addOnSuccessListener { document ->
                if (document != null) {
                    counties = document.get("Counties") as Array<String>

                    adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, counties)


                } else {
                    Log.d("Debug", "No such document")
                }
            }
            .addOnFailureListener { exception ->
                Log.d("Debug", "get failed with ", exception)
            }

        return root
    }

}

다음과 같은 오류 메시지가 나타납니다.

None of the following functions can be called with the arguments supplied:
public constructor ArrayAdapter<T : Any!>(@NonNull p0: Context, p1: Int, @NonNull p2: Array<(out) String!>) defined in android.widget.ArrayAdapter
public constructor ArrayAdapter<T : Any!>(@NonNull p0: Context, p1: Int, p2: Int) defined in android.widget.ArrayAdapter
public constructor ArrayAdapter<T : Any!>(@NonNull p0: Context, p1: Int, @NonNull p2: (Mutable)List<String!>) defined in android.widget.ArrayAdapter
호 아킴 레이

당신이 사용하는 경우 코드가 올바른 PARAMS를 제공하지 않는 것 같다 androidx.fragment.app.Fragment당신은 단순히 호출 할 수 있습니다 requireContext()requireActivity()

override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val root = inflater.inflate(R.layout.fragment_england, container, false)

        (requireActivity() as CountriesActivity).initializeCustomActionBar(R.drawable.england_flag, R.string.title_counties)

        val docRef = db.collection("UKSites").document("England")
        docRef.get()
            .addOnSuccessListener { document ->
                if (document != null) {
                    val counties = document.get("Counties") as Array<String>

                    adapter = ArrayAdapter(requireContext(), android.R.layout.simple_list_item_1, counties)


                } else {
                    Log.d("Debug", "No such document")
                }
            }
            .addOnFailureListener { exception ->
                Log.d("Debug", "get failed with ", exception)
            }

        return root
    }


참고로 이것은 Fragment-> 에서 메서드를 캐스트 및 / 또는 호출하는 것은 매우 나쁜 습관입니다.Activity

(requireActivity() as CountriesActivity).initializeCustomActionBar(R.drawable.england_flag, R.string.title_counties)

당신도해야 initializeCustomActionBar활동이나이 조각은 다음 (생성자 통과)를 호출 할 수있는 인터페이스를 구현합니다.

그러나 나는 그것이 당신의 질문 범위를 벗어 났기 때문에 너무 걱정하지 않을 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

새 내부에서 멤버 변수를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

jQuery에서 내 변수를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

bashrc에서 더미 인터페이스를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

클래스 확장에 지정된 초기화자를 배치 할 수없는 이유는 무엇입니까?

분류에서Dev

Datareader를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

Vuex 작업에서 dayJS를 사용할 수 있지만 Vuex 스토어에서 상태를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

PowerShell에서 "찾기"를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

'if'조건에서 초기화 된 변수를 if 블록에서 사용할 수없는 이유는 무엇입니까?

분류에서Dev

배열을 정의 할 때 초기화하는 경우 배열에 여러 요소를 제자리에 할당 할 수없는 이유는 무엇입니까?

분류에서Dev

std :: vector를 초기화 할 때 템플릿 정수를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

백본보기 초기화에서 UI 이벤트를 트리거 할 수없는 이유는 무엇입니까?

분류에서Dev

백본보기 초기화에서 UI 이벤트를 트리거 할 수없는 이유는 무엇입니까?

분류에서Dev

Python 3의 함수에서 초기화 된 사전 인수를 변경할 수없는 이유는 무엇입니까?

분류에서Dev

파이썬에서 다른 객체로 목록을 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

정적 변수를 다른 변수의 값으로 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

선언 후 상수 변수를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

TensorFlow가 상수로 초기화 된 변수를 복원 할 수없는 이유는 무엇입니까?

분류에서Dev

비 const 참조를 다른 유형의 객체로 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

공통 헤더 파일에서 정적 클래스 멤버를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

내 [TestMethods]가 [테스트 초기화]에서 만든 브라우저를 참조 할 수없는 이유는 무엇입니까?

분류에서Dev

앱 델리게이트 클래스를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

Vue를 사용하여 채널을 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

OpenGl VAO를 별도로 생성하고 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

생성자 초기화 중에 범위 확인 연산자를 사용할 수없는 이유는 무엇입니까?

분류에서Dev

`fstream` 인스턴스로`ofstream` /`ifstream`에 대한 참조를 초기화 할 수없는 이유는 무엇입니까?

분류에서Dev

인수를받는 함수가 반복기에서 호출 할 수없는 이유는 무엇입니까?

분류에서Dev

인스턴스화 할 수없고 "Calculate"메서드를 호출 할 수없는 이유는 무엇입니까?

분류에서Dev

C ++에서 정수 상수를 할당하여 Test 클래스의 객체를 초기화 할 수있는 이유는 무엇입니까?

분류에서Dev

객체 초기화에서 할당 연산자에 의해 생성자에 매개 변수를 전달할 수있는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    새 내부에서 멤버 변수를 초기화 할 수없는 이유는 무엇입니까?

  2. 2

    jQuery에서 내 변수를 초기화 할 수없는 이유는 무엇입니까?

  3. 3

    bashrc에서 더미 인터페이스를 초기화 할 수없는 이유는 무엇입니까?

  4. 4

    클래스 확장에 지정된 초기화자를 배치 할 수없는 이유는 무엇입니까?

  5. 5

    Datareader를 초기화 할 수없는 이유는 무엇입니까?

  6. 6

    Vuex 작업에서 dayJS를 사용할 수 있지만 Vuex 스토어에서 상태를 초기화 할 수없는 이유는 무엇입니까?

  7. 7

    PowerShell에서 "찾기"를 사용할 수없는 이유는 무엇입니까?

  8. 8

    'if'조건에서 초기화 된 변수를 if 블록에서 사용할 수없는 이유는 무엇입니까?

  9. 9

    배열을 정의 할 때 초기화하는 경우 배열에 여러 요소를 제자리에 할당 할 수없는 이유는 무엇입니까?

  10. 10

    std :: vector를 초기화 할 때 템플릿 정수를 사용할 수없는 이유는 무엇입니까?

  11. 11

    백본보기 초기화에서 UI 이벤트를 트리거 할 수없는 이유는 무엇입니까?

  12. 12

    백본보기 초기화에서 UI 이벤트를 트리거 할 수없는 이유는 무엇입니까?

  13. 13

    Python 3의 함수에서 초기화 된 사전 인수를 변경할 수없는 이유는 무엇입니까?

  14. 14

    파이썬에서 다른 객체로 목록을 초기화 할 수없는 이유는 무엇입니까?

  15. 15

    정적 변수를 다른 변수의 값으로 초기화 할 수없는 이유는 무엇입니까?

  16. 16

    선언 후 상수 변수를 초기화 할 수없는 이유는 무엇입니까?

  17. 17

    TensorFlow가 상수로 초기화 된 변수를 복원 할 수없는 이유는 무엇입니까?

  18. 18

    비 const 참조를 다른 유형의 객체로 초기화 할 수없는 이유는 무엇입니까?

  19. 19

    공통 헤더 파일에서 정적 클래스 멤버를 초기화 할 수없는 이유는 무엇입니까?

  20. 20

    내 [TestMethods]가 [테스트 초기화]에서 만든 브라우저를 참조 할 수없는 이유는 무엇입니까?

  21. 21

    앱 델리게이트 클래스를 초기화 할 수없는 이유는 무엇입니까?

  22. 22

    Vue를 사용하여 채널을 초기화 할 수없는 이유는 무엇입니까?

  23. 23

    OpenGl VAO를 별도로 생성하고 초기화 할 수없는 이유는 무엇입니까?

  24. 24

    생성자 초기화 중에 범위 확인 연산자를 사용할 수없는 이유는 무엇입니까?

  25. 25

    `fstream` 인스턴스로`ofstream` /`ifstream`에 대한 참조를 초기화 할 수없는 이유는 무엇입니까?

  26. 26

    인수를받는 함수가 반복기에서 호출 할 수없는 이유는 무엇입니까?

  27. 27

    인스턴스화 할 수없고 "Calculate"메서드를 호출 할 수없는 이유는 무엇입니까?

  28. 28

    C ++에서 정수 상수를 할당하여 Test 클래스의 객체를 초기화 할 수있는 이유는 무엇입니까?

  29. 29

    객체 초기화에서 할당 연산자에 의해 생성자에 매개 변수를 전달할 수있는 이유는 무엇입니까?

뜨겁다태그

보관