아이콘이있는 ListView가 있습니다. 모든 ListView 행에는 다른 아이콘이 있거나 아이콘이 없습니다.android listview 올바른 아이콘을 얻는 중
행이 올바른 아이콘을 얻을 수 있지만 문제가 있습니다. 아이콘이 없어야하는 행에는 아이콘이 있어야합니다.
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View vi=convertView;
if(convertView==null)
vi = inflater.inflate(R.layout.list_item, null);
TextView title = (TextView) vi.findViewById(R.id.name);
ImageView icon = (ImageView) vi.findViewById(R.id.icon);
HashMap<String, String> item = new HashMap<String, String>();
item = data.get(position);
String imgPath = ASSETS_DIR + item.get(myTable.KEY_PIC) + ".png";
try {
Bitmap bitmap = BitmapFactory.decodeStream(vi
.getResources().getAssets().open(imgPath));
icon.setImageBitmap(bitmap);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
title.setText(item.get(myTable.KEY_NAME));
return vi;
}
KEY_PIC
는 항상 값을 가지고 있으며, KEY_PIC
의 값이 일부 아이콘의 파일 이름과 동일한 경우에만 다음 아이콘을 표시해야합니다. 코드를 작성하는 방법을 알아낼 수 없습니다. 나는 if-else에서 뭔가를해야만한다.
행에 아이콘이 설정되어 있지 않으면 행의 "KEY_PIC"에 값이 표시되는 이유는 무엇입니까? 어떤 가치가 있습니까? 올바른 경로이면 아이콘이 설정됩니다. '아이콘'ImageView를 보유하고있는 레이아웃 XML에 기본 소스가 설정되어 있지 않은지 확인 했습니까? – ottel142
내 xml 레이아웃에 기본 소스가 없습니다. – windblow
"KEY_PIC"는 내 프로젝트에서 같은 이름이지만 위치가 다른 다른 것들을 찾는 데 사용됩니다. 따라서 XML 리소스 파일 (데이터베이스)에 정보를 더 추가하지 않아도됩니다. – windblow