2016-12-11 2 views
0

importieren android.view.View;Ich möchte eine Galerie-App mit einer Rasteransicht erstellen Ich habe über 300 Bilder, die ich aus Drawable importieren möchte. Es zeigt 33 Bilder übersprungen

importieren android.view.ViewGroup;

importieren android.widget.BaseAdapter;

importieren android.content.Context;

importieren android.widget.GridView;

importieren android.widget.ImageView;

public class ImageAdapter erweitert BaseAdapter {

private Context context; 

public Integer [] images = { R.drawable.img_0, 


     R.drawable.img_1, R.drawable.img_2,  R.drawable.img_41, R.drawable.img_42,  R.drawable.img_81, R.drawable.img_82,  R.drawable.img_121, R.drawable.img_122,  R.drawable.img_161, R.drawable.img_162,  R.drawable.img_201, R.drawable.img_202,  R.drawable.img_241, R.drawable.img_242,  R.drawable.img_281, R.drawable.img_282,  R.drawable.img_321, R.drawable.img_322, 
     R.drawable.img_3, R.drawable.img_4,  R.drawable.img_43, R.drawable.img_44,  R.drawable.img_83, R.drawable.img_84,  R.drawable.img_123, R.drawable.img_124,  R.drawable.img_163, R.drawable.img_164,  R.drawable.img_203, R.drawable.img_204,  R.drawable.img_243, R.drawable.img_244,  R.drawable.img_283, R.drawable.img_284,  R.drawable.img_323, 
     R.drawable.img_5, R.drawable.img_6,  R.drawable.img_45, R.drawable.img_46,  R.drawable.img_85, R.drawable.img_86,  R.drawable.img_125, R.drawable.img_126,  R.drawable.img_165, R.drawable.img_166,  R.drawable.img_205, R.drawable.img_206,  R.drawable.img_245, R.drawable.img_246,  R.drawable.img_285, R.drawable.img_286, 
     R.drawable.img_7, R.drawable.img_8,  R.drawable.img_47, R.drawable.img_48,  R.drawable.img_87, R.drawable.img_88,  R.drawable.img_127, R.drawable.img_128,  R.drawable.img_167, R.drawable.img_168,  R.drawable.img_207, R.drawable.img_208,  R.drawable.img_247, R.drawable.img_248,  R.drawable.img_287, R.drawable.img_288, 
     R.drawable.img_9, R.drawable.img_10,  R.drawable.img_49, R.drawable.img_50,  R.drawable.img_89, R.drawable.img_90,  R.drawable.img_129, R.drawable.img_130,  R.drawable.img_169, R.drawable.img_170,  R.drawable.img_209, R.drawable.img_210,  R.drawable.img_249, R.drawable.img_250,  R.drawable.img_289, R.drawable.img_290, 
     R.drawable.img_11, R.drawable.img_12,  R.drawable.img_51, R.drawable.img_52,  R.drawable.img_91, R.drawable.img_92,  R.drawable.img_131, R.drawable.img_132,  R.drawable.img_171, R.drawable.img_172,  R.drawable.img_211, R.drawable.img_212,  R.drawable.img_251, R.drawable.img_252,  R.drawable.img_291, R.drawable.img_292, 
     R.drawable.img_13, R.drawable.img_14,  R.drawable.img_53, R.drawable.img_54,  R.drawable.img_93, R.drawable.img_94,  R.drawable.img_133, R.drawable.img_134,  R.drawable.img_173, R.drawable.img_174,  R.drawable.img_213, R.drawable.img_214,  R.drawable.img_253, R.drawable.img_254,  R.drawable.img_293, R.drawable.img_294, 
     R.drawable.img_15, R.drawable.img_16,  R.drawable.img_55, R.drawable.img_56,  R.drawable.img_95, R.drawable.img_96,  R.drawable.img_135, R.drawable.img_136,  R.drawable.img_175, R.drawable.img_176,  R.drawable.img_215, R.drawable.img_216,  R.drawable.img_255, R.drawable.img_256,  R.drawable.img_295, R.drawable.img_296, 
     R.drawable.img_17, R.drawable.img_18,  R.drawable.img_57, R.drawable.img_58,  R.drawable.img_97, R.drawable.img_98,  R.drawable.img_137, R.drawable.img_138,  R.drawable.img_177, R.drawable.img_178,  R.drawable.img_217, R.drawable.img_218,  R.drawable.img_257, R.drawable.img_258,  R.drawable.img_297, R.drawable.img_298, 
     R.drawable.img_19, R.drawable.img_20,  R.drawable.img_59, R.drawable.img_60,  R.drawable.img_99, R.drawable.img_100, R.drawable.img_139, R.drawable.img_140,  R.drawable.img_179, R.drawable.img_180,  R.drawable.img_219, R.drawable.img_220,  R.drawable.img_259, R.drawable.img_260,  R.drawable.img_299, R.drawable.img_300, 
     R.drawable.img_21, R.drawable.img_22,  R.drawable.img_61, R.drawable.img_62,  R.drawable.img_101, R.drawable.img_102, R.drawable.img_141, R.drawable.img_142,  R.drawable.img_181, R.drawable.img_182,  R.drawable.img_221, R.drawable.img_222,  R.drawable.img_261, R.drawable.img_262,  R.drawable.img_301, R.drawable.img_302, 
     R.drawable.img_23, R.drawable.img_24,  R.drawable.img_63, R.drawable.img_64,  R.drawable.img_103, R.drawable.img_104, R.drawable.img_143, R.drawable.img_144,  R.drawable.img_183, R.drawable.img_184,  R.drawable.img_223, R.drawable.img_224,  R.drawable.img_263, R.drawable.img_264,  R.drawable.img_303, R.drawable.img_304, 
     R.drawable.img_25, R.drawable.img_26,  R.drawable.img_65, R.drawable.img_66,  R.drawable.img_105, R.drawable.img_106, R.drawable.img_145, R.drawable.img_146,  R.drawable.img_185, R.drawable.img_186,  R.drawable.img_225, R.drawable.img_226,  R.drawable.img_265, R.drawable.img_266,  R.drawable.img_305, R.drawable.img_306, 
     R.drawable.img_27, R.drawable.img_28,  R.drawable.img_67, R.drawable.img_68,  R.drawable.img_107, R.drawable.img_108, R.drawable.img_147, R.drawable.img_148,  R.drawable.img_187, R.drawable.img_188,  R.drawable.img_227, R.drawable.img_228,  R.drawable.img_267, R.drawable.img_268,  R.drawable.img_307, R.drawable.img_308, 
     R.drawable.img_29, R.drawable.img_30,  R.drawable.img_69, R.drawable.img_70,  R.drawable.img_109, R.drawable.img_110, R.drawable.img_149, R.drawable.img_150,  R.drawable.img_189, R.drawable.img_190,  R.drawable.img_229, R.drawable.img_230,  R.drawable.img_269, R.drawable.img_270,  R.drawable.img_309, R.drawable.img_310, 
     R.drawable.img_31, R.drawable.img_32,  R.drawable.img_71, R.drawable.img_72,  R.drawable.img_111, R.drawable.img_112, R.drawable.img_151, R.drawable.img_152,  R.drawable.img_191, R.drawable.img_192,  R.drawable.img_231, R.drawable.img_232,  R.drawable.img_271, R.drawable.img_272,  R.drawable.img_311, R.drawable.img_312, 
     R.drawable.img_33, R.drawable.img_34,  R.drawable.img_73, R.drawable.img_74,  R.drawable.img_113, R.drawable.img_114, R.drawable.img_153, R.drawable.img_154,  R.drawable.img_193, R.drawable.img_194,  R.drawable.img_233, R.drawable.img_234,  R.drawable.img_273, R.drawable.img_274,  R.drawable.img_313, R.drawable.img_314, 
     R.drawable.img_35, R.drawable.img_36,  R.drawable.img_75, R.drawable.img_76,  R.drawable.img_115, R.drawable.img_116, R.drawable.img_155, R.drawable.img_156,  R.drawable.img_195, R.drawable.img_196,  R.drawable.img_235, R.drawable.img_236,  R.drawable.img_275, R.drawable.img_276,  R.drawable.img_315, R.drawable.img_316, 
     R.drawable.img_37, R.drawable.img_38,  R.drawable.img_77, R.drawable.img_78,  R.drawable.img_117, R.drawable.img_118, R.drawable.img_157, R.drawable.img_158,  R.drawable.img_197, R.drawable.img_198,  R.drawable.img_237, R.drawable.img_238,  R.drawable.img_277, R.drawable.img_278,  R.drawable.img_317, R.drawable.img_318, 
     R.drawable.img_39, R.drawable.img_40,  R.drawable.img_79, R.drawable.img_80,  R.drawable.img_119, R.drawable.img_120, R.drawable.img_159, R.drawable.img_160,  R.drawable.img_199, R.drawable.img_200,  R.drawable.img_239, R.drawable.img_240,  R.drawable.img_279, R.drawable.img_280,  R.drawable.img_319, R.drawable.img_320, 

}; 

public ImageAdapter(Context c){ 

    context = c; 
} 




@Override 
public int getCount() { 
    return images.length; 
} 

@Override 
public Object getItem(int position) { 
    return images[position]; 
} 


@Override 
public long getItemId(int position) { 
    return 0; 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imageView = new ImageView(context); 
    imageView.setImageResource(images[position]); 
    imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); 
    imageView.setLayoutParams(new GridView.LayoutParams(240,240)); 
    return null; 
} 

}

+0

also, was ist die Frage? – mlkn

+0

Für einige wenige Bilder reicht das Laden von Ressourcen im Hauptanwendungs-Thread möglicherweise aus, jedoch nicht für Hunderte. Möglicherweise müssen Sie in eine [Bildlade-Bibliothek] (https://android-arsenal.com/tag/46) wie [Picasso] (http://square.github.io/picasso/) schauen kann diese Bilder auf Hintergrundthreads laden. – CommonsWare

Antwort

0

Das erste, was ich vorschlagen würde getResources().getIdentifier() statt Hartcodierung Resource Identifiers wie das verwendet wird. Wahrscheinlich außerhalb des Umfangs dieser Frage, aber würde auch empfehlen, RecyclerView anstelle von ListView zu verwenden.

+1

"Als erstes würde ich vorschlagen, getResources(). GetIdentifier() anstelle von Hard-Coding-Ressourcen-IDs wie diese." - das macht die Leistung schlechter, nicht besser. – CommonsWare

0

Zunächst einmal ist es nicht gut, 300 Bilder in einem Ordner zu speichern. Es macht deine apk größer. Platziere deine Bilder auf einem beliebigen Server und erhalte dann Links zu json und setze deine Bilder dann in imageviews. Sie können diese Bibliotheken zum Laden von Bildern und zum Zwischenspeichern verwenden: Picasso by square, Glide by Bumptech. Diese Bibliotheken helfen Ihnen beim einfachen Laden, Beschneiden, Anpassen und Caching von Bildern.

Verwandte Themen