1
tutorial here을 사용하여 사용자 정의 스피너를 만듭니다. 내가 (페이지 아래로 절반 방법) 클래스 CountryAdapter
을 복사 할 때, 일식에 getResources()
을 식별 할 수없는객체 ArrayAdapter가있는 사용자 정의 스피너는 getResources를 가져올 수 없습니다.
myFlag.setBackgroundDrawable(getResources().getDrawable(item.getCountryFlag()));
사람이이 문제에 대한 수정 프로그램을 알고 있나요? 기본적으로 드로어 블을 어떻게 얻을 수 있을까요? 내가
public class CountryAdapter extends ArrayAdapter<CountryInfo>
{
private Activity context;
ArrayList<CountryInfo> data = null;
public CountryAdapter(Activity context, int resource, ArrayList<CountryInfo> data)
{
super(context, resource, data);
this.context = context;
this.data = data;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{ // Ordinary view in Spinner, we use android.R.layout.simple_spinner_item
return super.getView(position, convertView, parent);
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent)
{ // This view starts when we click the spinner.
View row = convertView;
if(row == null)
{
LayoutInflater inflater = context.getLayoutInflater();
row = inflater.inflate(R.layout.spinner_layout, parent, false);
}
CountryInfo item = data.get(position);
if(item != null)
{ // Parse the data from each object and set it.
ImageView myFlag = (ImageView) row.findViewById(R.id.imageIcon);
TextView myCountry = (TextView) row.findViewById(R.id.countryName);
if(myFlag != null)
{
myFlag.setBackgroundDrawable(getResources().getDrawable(item.getCountryFlag()));
}
if(myCountry != null)
myCountry.setText(item.getCountryName());
}
return row;
}
}
}