2011-12-04 1 views
1

누구나 내가 뭘 잘못하고 있다고 말할 수 있습니까? 그것은 이클립스 나에게 어떤 오류나 경고를 제공하지 않지만 내 ListView 내가 에뮬레이터를 실행할 때 채워지지 않습니다. 어떤 도움이라도 대단히 감사합니다. 감사. 사용자 정의 ArrayAdapter 클래스를 사용하여 arrays.xml에서 ListView로 배열을 가져 오려고합니다. 뭐가 문제 야?

은에서 onCreate 안에 :

private static class MArrayAdapter extends ArrayAdapter<String> { 
    public MArrayAdapter(final Context context, final int objects) { 
    super(context, R.layout.item_single, objects); 
} 

@Override 
public View getView(final int position, final View convertView, final ViewGroup parent) { 
    final CheckedTextView view = (CheckedTextView) 
    super.getView(position, convertView, parent); 
    view.setChecked(position == 2); return view; 
    } 
} 
+0

로드하려는 배열에 대한 XML을 게시하십시오. –

+0

XML에 오류가 없습니까? – sparksalot

답변

4

이 같은의 맞춤 레이아웃없이 첫 번째 시도에서 다음과 같은 생성자를 R.array.beds에서 문자열 요소의 목록을 만드는 시도하고 사용하는 다음과 같은 정의에 응답 한 후 결국은 조정할 수 있습니다 자신의 레이아웃을 사용하십시오 :

... 

String[] bedsArray = getResources().getStringArray(R.array.beds); 

bedList.setListAdapter(new ArrayAdapter<String>(
          this, 
          android.R.layout.simple_expandable_list_item_1, 
          bedsArray)); 

... 
+0

앞서 언급 한대로 getResources.getStringArray를 사용하여 문자열 배열을 만들면됩니다. 그런 다음 String []을 생성자에 추가하면 모든 것이 잘됩니다! 고맙습니다! –

0

문제가

다음이 라인이다 :

ListView bedList = (ListView) findViewById(R.id.refineBeds); 
bedList.setVisibility(View.VISIBLE); 
bedList.setAdapter(new MArrayAdapter(this, R.array.beds)); 
bedList.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

이 내 어댑터로 사용하기 위해 노력하고있어 사용자 정의 내부 클래스입니다

new MArrayAdapter(this, R.array.beds) 

public ArrayAdapter (Context context, int textViewResourceId) 

public ArrayAdapter (Context context, int textViewResourceId, List<T> objects) 
관련 문제