내 사용자 지정 CursorAdapter에서 bindView 메서드를 덮어 썼습니다.ImageView의 소스를 프로그래밍 방식으로 변경할 수 있습니까
ListView의 각보기에 대한 이미지 리소스를 설정해야합니다.
R.drawable.innervate는 res/drawable/폴더에있는 이미지의 이름입니다.
setImageResource 메서드는 정수로만 매개 변수를 사용하지만 내 리소스 이름 만 알고 있습니다.
리소스 이름 만 알면 내 이미지보기의 이미지 리소스를 어떻게 변경할 수 있습니까?
public void bindView(View view, Context arg1, Cursor cursor)
{
TextView textView = (TextView) view.findViewById(R.id.label);
textView.setText(cursor.getString(1));
ImageView imageView = (ImageView) view.findViewById(R.id.icon);
imageView.setImageResource(R.drawable.innervate);
}
이미지 리소스의 데이터는 커서에서 가져옵니다. 그래서, 내 데이터베이스에서 사진의 이름을 가져오고 있으며 사진은 내 res/drawable/폴더에 있습니다.
다음context.getResources().getIdentifier("drawableName", "drawable", context.getPackageName());
당신이 그 이름을 알고있는 당김의 resource id
을 얻을하는 데 사용할 수있는 정적 메서드의 예입니다
어떤 이미지를 사용하고 싶은지 어떻게 알 수 있습니까? 이 데이터는 어디에 저장되어 있습니까? –
드로어 블은 res/drawable/폴더에 있습니다. 나는 자원의 정수 ID를 모른다. 그러나 그것의 이름을 안다. 예 : innervate.png; moonfire.png; – Pierre
이름을 어떻게 아십니까? 해당 데이터는 앱 코드에 어디에 저장됩니까? –