코드 1
Utility.DetailsInfo myInfo=new Utility.DetailsInfo()
의 경우 오류가 발생하는 이유는 무엇입니까?
No enclosing instance of type Utility is accessible. Must qualify the allocation with an enclosing instance of type Utility
(예 : x.new A() 여기서 x는 유틸리티의 인스턴스 임).내부 정적 클래스의 인스턴스를 만들 수 있습니까?
그래서 나는 내부 정적 클래스의 인스턴스를 만들 수 코드 2
을 사용할 수 있나요?
감사!
코드 1
public class Utility {
class DetailsInfo {
String title;
String path;
String size;
Bitmap thumbnails;
}
public static void GetPhotoDetailsByID(Context mycontext,String id,DetailsInfo myInfo){
Cursor cur = mycontext.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null,
MediaStore.Images.Media._ID+"=?",
new String[]{id},
"");
if (cur.moveToFirst()){
myInfo.title= cur.getString(cur.getColumnIndex(MediaStore.Images.Media.TITLE));
myInfo.path = cur.getString(cur.getColumnIndex(MediaStore.Images.Media.DATA));
myInfo.size=cur.getString(cur.getColumnIndex(MediaStore.Images.Media.SIZE));
myInfo.thumbnails = MediaStore.Images.Thumbnails.getThumbnail(
mycontext.getContentResolver(),
Integer.parseInt(id),
MediaStore.Images.Thumbnails.MICRO_KIND,
null);
}
cur.close();
}
}
코드 2
public class Utility {
public static class DetailsInfo {
String title;
String path;
String size;
Bitmap thumbnails;
}
public static void GetPhotoDetailsByID(Context mycontext,String id,DetailsInfo myInfo){
Cursor cur = mycontext.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
null,
MediaStore.Images.Media._ID+"=?",
new String[]{id},
"");
if (cur.moveToFirst()){
myInfo.title= cur.getString(cur.getColumnIndex(MediaStore.Images.Media.TITLE));
myInfo.path = cur.getString(cur.getColumnIndex(MediaStore.Images.Media.DATA));
myInfo.size=cur.getString(cur.getColumnIndex(MediaStore.Images.Media.SIZE));
myInfo.thumbnails = MediaStore.Images.Thumbnails.getThumbnail(
mycontext.getContentResolver(),
Integer.parseInt(id),
MediaStore.Images.Thumbnails.MICRO_KIND,
null);
}
cur.close();
}
}