Java 如何基于对象从地图中检索值

Java 如何基于对象从地图中检索值,java,android,hashmap,Java,Android,Hashmap,在这里显示的代码中,我正在膨胀视图并将其添加到linearlayout。单击每个视图时,应打开与其相关的特定文档。我想实现这一点的方法是将每个膨胀视图添加到地图中作为键和 地图的值将是文档 我的问题是,如何将每个视图作为键添加到地图中,以及如何从给定键的地图中检索特定值。我参考了一些帖子,但我不知道如何根据给定的键从地图中获取值 我的关键点是一个对象视图 代码: private void充气视图(字符串边框、字符串边框){ LinearLayout linLay=(LinearLayout)fi

在这里显示的代码中,我正在膨胀视图并将其添加到linearlayout。单击每个视图时,应打开与其相关的特定文档。我想实现这一点的方法是将每个膨胀视图添加到地图中作为键和 地图的值将是文档

我的问题是,如何将每个视图作为键添加到地图中,以及如何从给定键的地图中检索特定值。我参考了一些帖子,但我不知道如何根据给定的键从地图中获取值 我的关键点是一个对象视图

代码:

private void充气视图(字符串边框、字符串边框){
LinearLayout linLay=(LinearLayout)findViewById(R.id.VersionRungsLiveActivity2Mod\u linLay\u meineDocList\u容器);
视图分隔器=新视图(此);
viewDivider.setLayoutParams(新的RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_父项,ViewGroup.LayoutParams.WRAP_内容));
viewDivider.setBackgroundColor(Color.parseColor(#000000”);
LayoutInflater充气机=this.getLayoutInflater();

视图视图=充气机。充气(R.layout.versicherung_docs_row_model,null);//首先,我不建议使用对
视图的引用作为映射键-这可能会导致引用泄漏和内存问题。而是通过
setTag(Object obj)为视图分配一个标记
method。稍后在click listener中检索文档调用map.get(key),其中key是您分配的标记

内部
充气视图

String tag = "Something unique for a key" // can be any Object not necessarily a String
view.setTag(tag);
map.put(tag, referenceToDocument);
view.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Object document = map.get(view.getTag());
            // do whatever you like with the document
        }
});

首先,我不建议使用对
视图的引用作为映射的键-这可能会导致泄漏的引用和内存问题。而是通过
setTag(Object obj)
方法为视图分配一个标记。稍后在单击侦听器中检索调用Map.get(key)的文档,其中key是您分配的标记

内部
充气视图

String tag = "Something unique for a key" // can be any Object not necessarily a String
view.setTag(tag);
map.put(tag, referenceToDocument);
view.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            Object document = map.get(view.getTag());
            // do whatever you like with the document
        }
});