fsBiao.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (isopen) { isopen = false; emoRecyc.setVisibility(View.GONE); }else { List<String> list_key = new ArrayList<>(); List<Integer> list_value = new ArrayList<>(); for (String s:map.keySet()) { list_key.add(s); } for (Integer value:map.values()) { list_value.add(value); } emoRecyc.setAdapter(new CommonAdapter<Integer>(getContext(),R.layout.item_emo,list_value) { @Override protected void convert(ViewHolder holder, Integer integer, int position) { Glide.with(getActivity()) .load(integer) .into((ImageView) holder.getView(R.id.emo_11)); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ltEd.setText(list_key.get(position)); } }); } }); emoRecyc.setLayoutManager(new GridLayoutManager(getContext(),2)); isopen=true; emoRecyc.setVisibility(View.VISIBLE); } } });
时间: 2024-02-10 21:20:29 浏览: 146
android之网络文件下载保存到SD_card上.pdf
这段代码是给一个按钮fsBiao设置点击事件,其中包括以下内容:
1. isopen:标识当前表情面板是否已打开。
2. emoRecyc.setVisibility(View.GONE):将RecyclerView设置为不可见。
3. List<String> list_key = new ArrayList<>():初始化一个空的String类型的List。
4. List<Integer> list_value = new ArrayList<>():初始化一个空的Integer类型的List。
5. for (String s:map.keySet()):遍历map的key集合。
6. list_key.add(s):将遍历到的key添加到list_key中。
7. for (Integer value:map.values()):遍历map的value集合。
8. list_value.add(value):将遍历到的value添加到list_value中。
9. emoRecyc.setAdapter(new CommonAdapter<Integer>(getContext(),R.layout.item_emo,list_value):使用CommonAdapter为RecyclerView设置适配器,并且将list_value作为数据源。
10. onBindViewHolder()方法和Glide的使用可以根据自己的需要进行修改。
11. emoRecyc.setLayoutManager(new GridLayoutManager(getContext(),2)):设置RecyclerView的布局管理器为GridLayoutManager,其中2表示每行显示的item数量。
12. emoRecyc.setVisibility(View.VISIBLE):将RecyclerView设置为可见。
13. isopen=true:将isopen设置为true,表示表情面板已打开。
这段代码实现了在点击按钮时,根据map中的数据动态生成表情面板,并且设置了RecyclerView的布局和点击事件。其中的list_key和list_value可以根据自己的需求进行修改。
阅读全文