【问题标题】:set image for each item in a list of items, during fragment on Create view [duplicate]在创建视图的片段期间为项目列表中的每个项目设置图像[重复]
【发布时间】:2017-10-27 12:03:53
【问题描述】:

我有一张卡片列表 (cards_list.xml),其中每张卡片都有自己的布局 (card_in_list.xml)。

卡片有一个“ImageView”元素,在片段创建过程中,它试图为列表中的每张卡片进行更改。

这里是布局和片段 onCreate 代码,谢谢

cards_list.xml

 <ListView
        android:id="@+id/cards_listview"/>

card_in_list.xml

 <ImageView
        android:id="@+id/cardImage"
        android:src="@drawable/visa"/>

CardsListFragment.java

 public view OnCreateView(LayoutInflater inflater, ViewGroup container, 
                                             Bundle savedInstanceState) {

    // inflate cards list view 

    cardsListBinding binding = DataBindingUtil.inflate(inflater, 
                               R.layout.cards_list, container, false);
    binding.setSettingsService(this.settingsService);
    View view = binding.getRoot();

    // use adapter to set card layout to list of cards

    itemsList = (ListView) view.findViewById(R.id.cards_listview);
    itemsListAdapter = new ListViewBindingAdapter<>(getActivity(), 
                       R.layout.card_in_list, this, myService.getCards());

    // get image of each card item set a drawable to it

    int i = 0;
    for(Card c : myService().getCards()) {
      View cardListView = itemsListAdapter.getView(i,null,itemsList);
      ImageView iv = (ImageView)cardListView.findViewById(R.id.cardImage);
      iv.setImageResource(R.drawable.discover);
      i++;
    }

    itemsList.setAdapter(itemsListAdapter); 

    return view;
}

【问题讨论】:

    标签: java android android-fragments imageview android-arrayadapter


    【解决方案1】:

    您需要的是 ListView 的自定义适配器,您可以在其中执行所需的操作。 这个答案很好地解释了它Custom Adapter for List View

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多