2014-09-19 5 views
0

ArrayList에서 스피너를 채우려고합니다.리소스 ID 값이 아닌 ArrayList의 ArrayAdapter

문제는 ArrayList에 값을 표시하는 대신 스피너가 리소스 ID에 대한 전체 경로를 표시하고 있다는 것입니다.

내 코드

@Override 
public void CartonMoveOptions(ArrayList<BarcodeSpinner> bSpinner) { 
    Spinner BarcodeChoice = (Spinner) rootView.findViewById(R.id.cartonChoices); 
    BarcodeChoice.setVisibility(View.VISIBLE); 
    ArrayAdapter<BarcodeSpinner> a = new ArrayAdapter<BarcodeSpinner>(getActivity(), android.R.layout.simple_spinner_item, bSpinner); 
    a.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    BarcodeChoice.setAdapter(a); 
} 

BarcodeSpinner은 두 줄을 포함하고, 유일한 내용은 각 행에 대해 하나의 문자열입니다.

누구든지 잘못된 점을 지적 할 수 있습니까?

ArrayAdapter의 기본 구현은 객체의 toString 메소드를 호출

@Override 
Public String toString() 
{ 
return Barcode; 
} 

BarcodeSpinner

+0

'toString()'이 (가)'BarcodeSpinner'에서 반환하는 것으로 추정됩니다. – CommonsWare

+0

'리소스 ID에 대한 전체 경로'무엇을 의미합니까? (실제로 필요한 BarcodeSpinner에서 요소로보기를 채우기 위해 ArrayAdapter를 재정의해야 할 것 같네요. 아마도 당신이 보게되는 것은 기본 toString 구현 일 것입니다.) – njzk2

답변

1

에 추가

public class BarcodeSpinner { 

    String Barcode; 

    public String getBarcode() { 
     return Barcode; 
    } 

    public void setBarcode(String barcode) { 
     Barcode = barcode; 
    } 
} 

ANSWER 내 BarcodeSpinner 클래스입니다 당신은 데이터 세트. 쉬운 수정은 BarcodeSpinner 클래스의 toString 클래스를 오버라이드하여 표시 할 문자열을 반환하는 것입니다.

+0

감사합니다. – dave