コード 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
(egxnew A() x は Utility のインスタンス)。
コード 2
Can I make an instance of inner static class?を使用する必要があります。
ありがとう!
コード 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();
}
}