Как добавить изображения значков в Listview через адаптер без XML - PullRequest
0 голосов
/ 19 марта 2020

Я хочу добавить значки для каждой позиции элемента в ListView. Я добавил текст в ListView, но когда я пытаюсь добавить иконки на videoList.add(R.drawable.mi_icon, "Genel Bilgiler");, мое приложение делает sh. Есть идеи?

Genel. java:

MediaController mediaController;
VideoView videoview;
ListView listView;
ArrayList<String> videoList;
ArrayAdapter adapter;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_genel);

    final VideoView videoview = findViewById(R.id.Videogenel);
    listView = (ListView) findViewById(R.id.lgvideo);
    videoList= new ArrayList<>();
    videoList.add("Genel Bilgiler");



    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,videoList);
    listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            switch (position){
                case 0:
                    videoview.setVideoPath("/storage/A6D3-E544/videos/genel1.mp4");
                    break;
            }
            final MediaController mediacontroller = new MediaController(Genel.this);
            mediacontroller.setAnchorView(videoview);

            videoview.setMediaController(mediacontroller);
            videoview.requestFocus();

1 Ответ

0 голосов
/ 19 марта 2020

Вы пытаетесь добавить два элемента в список строк, List<String>. Это проблема архитектуры.

Если вам нужна корреляция между строками и идентификаторами ресурсов, вы можете использовать карту.

private final Map<String, Int> videoList = new HashMap<>();

videoList.put("Genel Bilgiler", R.drawable.mi_icon);

Однако представляется более подходящим создать POJO видео .class:

public class Video() {

private final String title;
private final int image;

public Video(String title, int image) {
    this.title = title;
    this.image = image;
}

// getter methods

}

И передать это в ArrayAdapter

private final List<Video> videoList = new ArrayList<>();
videoList.add(new Video("Genel Bilgiler", R.drawable.mi_icon));

ArrayAdapter<Video> adapter=new ArrayAdapter<Video>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...