2011-11-02 4 views
0

public String [] mArrayList = { "제목", "섹스", "이름", "섹스", "fff", "eee", "iii"};정적 배열 및 회 전자 문제

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
    this,**mArrayList**,R.layout.sq, 

    android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spinner.setAdapter(adapter); 

아래와 같이 mArrayList 배열을 사용하여 스피너에 값을 추가하고 싶습니다. 오류 표시는 아래와 같습니다. ArrayAdapter 유형의 createFromResource (Context, int, int) 메서드는 인수 (sq, String [], int, int)에 적용 할 수 없습니다. 내가 뭘 잘못하고 있니? 어떤 도움을 많이 주셔서 감사합니다.

다른 Java 클래스에서 정적 배열에 어떻게 액세스 할 수 있습니까? 예제를 통해 작업 한 적이 있다면 정말 도움이 될 것입니다!

답변

1

ArrayAdapter.createFromResource()입니다

  • context 응용 프로그램 환경의 인수가 자원 ID를 전달합니다.
  • textArrayResId 데이터로 사용할 배열의 식별자 소스.
  • textViewResId보기를 만드는 데 사용 된 레이아웃의 식별자입니다.

그러면 매개 변수를 더 많이 전달할 수 있습니다.

난 당신이 생성자에게

ArrayAdapter(Context, int, int, T[])

를 사용하여 ArrayAdapter와 생성하고 매개 변수 순서는 생성자로 올바른지 확인하고 싶은 생각합니다.

1

예제의 일부는 아니지만 this은 활동/컨텍스트가 아니지만 일부 내부 클래스가 있습니다. 다음과 같아야합니다.

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( 
TheActivityName.this, mArrayList, R.layout.sq,android.R.layout.simple_spinner_item); 
//^ Your activity name, to make it clear to the compiler that you want "this" object of the activity 
1

createFromResource는 values.xml 파일의 배열 리소스 ID를 필요로합니다.

<resources> 
    <string-array name="mArrayList"> 
     <item>title</item> 
     <item>sex</item> 
     <item>name</item> 
     <item>fff</item> 
     <item>eee</item> 
     <item>iii</item> 
    </string-array> 
</resources> 

는 그리고 당신은 R.array.mArrayList

ArrayAdapter.createFromResource(this,R.array.mArrayList,android.R.layout.simple_spinner_item);