Je suis nouveau à Android Studio, essayant de l'apprendre. J'essayais de faire une vue de liste avec un adaptateur personnalisé pour afficher l'image et le texte. Mais cela cesse de fonctionner. J'ai tout essayé sur Internet mais je n'ai pas travaillé. J'ai compris que l'erreur est dans la vue Public View GeveView (Position Int, View View, ViewGroup Parent) à la ligne ImageView.setimageresource (R.Drawable.ic_Launcher); Mais j'ai du mal à le résoudre. S'il vous plaît aider. "
public class MyListAdapter extends ArrayAdapter<String> { private final Activity context; private final String[] ProgName; private final Integer[] ProgImages; public MyListAdapter(Activity context, String[] progName, Integer[] progImages) { super(context,R.layout.activity_image_list,progName); this.context = context; this.ProgName = progName; this.ProgImages = progImages; } public View getView(int position,View view,ViewGroup parent){ LayoutInflater inflater = context.getLayoutInflater (); View rowView=inflater.inflate (R.layout.activity_image_list,null,true); TextView txtTitle = (TextView)rowView.findViewById (R.id.txtName); ImageView ImageView = (ImageView)rowView.findViewById (R.id.ImageList1); ImageView.setImageResource (ProgImages[position]); txtTitle.setText ((ProgName[position])); ImageView.setImageResource (R.drawable.ic_launcher); return rowView; } MainActivity.java public class MainActivity extends AppCompatActivity { ListView list; Context context; ArrayList Prglist; private static final String TAG = "MainActivity"; public static Integer[] ProgImages = { R.drawable.ic_launcher1, R.drawable.ic_launcher1,R.drawable.ic_launcher1, R.drawable.ic_launcher1 }; public static String[] ProgName = { "Java", "C", "Pascal", "Python" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); MyListAdapter adapter=new MyListAdapter(this, ProgName, ProgImages); list=(ListView)findViewById(R.id.list); list.setAdapter(adapter);
3 Réponses :
Si le tableau PROGIMAGES est une ressource (comme R.Drawable.icon), vous pouvez utiliser la méthode GetResources. Essaye ça;
dans l'activité; p> en fragment; p>
Essayez d'utiliser des bibliothèques photo comme Picasso ou Glide pour afficher vos images. P>
Il semble que vous ayez utilisé l'image digue dans une vue d'écran.
Peut-être essayer ceci ... ou vous pouvez utiliser la bibliothèque Picasso ou Glide pour de meilleures performances ... P> P>