日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HashMap实现单选(HansMap的遍历)

發布時間:2023/12/29 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HashMap实现单选(HansMap的遍历) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

推薦:

  • HashSet實現多選
  • HashMap實現單選(HansMap的遍歷)

HashMap實現單選(HansMap的遍歷),先看效果圖:

這是HashMap實現單選和HashSet實現多選的下載鏈接

下面是主要內容:

  • MainActivity 主要代碼以及 activity_main 布局文件代碼
  • OneAdapter 主要代碼以及 adapter_one 布局文件代碼

1.?MainActivity 主要代碼以及 activity_main 布局文件代碼

MainActivity 代碼:

import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.Toast;import java.util.ArrayList; import java.util.List;/*** author: wu* date: on 2018/11/12.* describe:單選主 Activity*/ public class MainActivity extends AppCompatActivity {private List<String> list;private RecyclerView rv_one;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//列表中添加數據setList();//設置單選適配器setOne();}private void setList() {list = new ArrayList<>();list.add("英雄聯盟");list.add("王者榮耀");list.add("刺激戰場");list.add("絕地求生");list.add("第五人格");list.add("唱歌");list.add("聊天");list.add("全軍出擊");}private void setOne() {rv_one = findViewById(R.id.rv_one);OneAdapter adapter = new OneAdapter(this, list);rv_one.setAdapter(adapter);rv_one.setLayoutManager(new GridLayoutManager(this, 3));//adapter中item點擊事件adapter.setOnItemClickListerer(new OneAdapter.OnItemClickListener() {@Overridepublic void onItemClick(int position, String name) {Toast.makeText(MainActivity.this, name, Toast.LENGTH_SHORT).show();}});} }

activity_main 代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="40dp"android:background="@color/colorPrimary"android:gravity="center"android:text="HashMap實現單選" /><android.support.v7.widget.RecyclerViewandroid:id="@+id/rv_one"android:layout_width="match_parent"android:layout_height="wrap_content" /></LinearLayout>

2. OneAdapter 主要代碼以及 adapter_one 布局文件代碼

OneAdapter 代碼:

import android.content.Context; import android.graphics.Color; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;import java.util.HashMap; import java.util.List;/*** author: wu* date: on 2018/11/12.* describe:單選適配器*/public class OneAdapter extends RecyclerView.Adapter<OneAdapter.GoodsListHolder> {private final LayoutInflater mInflater;private Context context;private List<String> list;//存儲對號private HashMap<Integer, TextView> hashMapCheck = new HashMap<>();//存儲名稱private HashMap<Integer, TextView> hashMapName = new HashMap<>();public OneAdapter(Context mContext, List<String> list) {this.context = mContext;this.list = list;mInflater = LayoutInflater.from(context);}//接口回調public interface OnItemClickListener {void onItemClick(int position, String name);}public OneAdapter.OnItemClickListener mOnItemClickListerer;public void setOnItemClickListerer(OneAdapter.OnItemClickListener listerer) {this.mOnItemClickListerer = listerer;}@Overridepublic int getItemCount() {return list != null ? list.size() : 0;}@Overridepublic void onBindViewHolder(final GoodsListHolder holder, final int position) {holder.tv_name.setText(list.get(position));//設置顯示名稱hashMapCheck.put(position, holder.tv_check);//存儲對號hashMapName.put(position, holder.tv_name);//存儲名稱//默認選中第一項if (position == 0) {holder.tv_check.setVisibility(View.VISIBLE);holder.tv_name.setTextColor(Color.parseColor("#FF3300"));} else {holder.tv_check.setVisibility(View.GONE);holder.tv_name.setTextColor(Color.parseColor("#FF666666"));}//item點擊事件holder.itemView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//遍歷對號全都隱藏for (HashMap.Entry<Integer, TextView> entry : hashMapCheck.entrySet()) {entry.getValue().setVisibility(View.GONE);}//遍歷名稱設置為黑色for (HashMap.Entry<Integer, TextView> entry : hashMapName.entrySet()) {entry.getValue().setTextColor(Color.parseColor("#FF666666"));}//設置選中的對號顯示,和名稱字體顏色holder.tv_check.setVisibility(View.VISIBLE);holder.tv_name.setTextColor(Color.parseColor("#FF3300"));//點擊回調mOnItemClickListerer.onItemClick(position, list.get(position));}});}@Overridepublic GoodsListHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = mInflater.inflate(R.layout.adapter_one, parent, false);GoodsListHolder viewHolder = new GoodsListHolder(view);return viewHolder;}class GoodsListHolder extends RecyclerView.ViewHolder {TextView tv_check, tv_name;public GoodsListHolder(View itemView) {super(itemView);tv_name = itemView.findViewById(R.id.tv_name);tv_check = itemView.findViewById(R.id.tv_check);}} }

adapter_one 代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="35dp"android:layout_margin="10dp"android:layout_weight="1"android:gravity="center"android:orientation="horizontal"android:background="#FFEEEEEE"><TextViewandroid:id="@+id/tv_check"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="√"android:textColor="#FF3300"android:textSize="12sp"android:visibility="gone"/><TextViewandroid:id="@+id/tv_name"android:layout_width="wrap_content"android:layout_height="match_parent"android:layout_marginLeft="2dp"android:gravity="center"android:text="不限"android:textColor="#FF666666"android:textSize="12sp" /> </LinearLayout>

這樣便可以用 HashMap 實現多選。

推薦:

  • HashSet實現多選
  • HashMap實現單選(HansMap的遍歷)

總結

以上是生活随笔為你收集整理的HashMap实现单选(HansMap的遍历)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。