更改列表视图中图像的可见性

Posted

技术标签:

【中文标题】更改列表视图中图像的可见性【英文标题】:Changing the visibility of a image inside a list view 【发布时间】:2014-07-04 15:12:23 【问题描述】:

我在底部有这个功能,在这个功能中我填充了MainActivity中的listview,我可以填充任何我想要的文本,但我不知道如何隐藏,我尝试了评论部分的东西隐藏它,但没有工作。

我需要检查某个条件,如果为真则隐藏 R.id.dire_win,如果为假则隐藏 R.id.radiant_win

我还需要在列表视图的每一行中使用 .png/.jpg url 填充 R.id.team01_pic。

提前感谢您的帮助。

        protected void onPostExecute(Void result) 
            super.onPostExecute(result);
            // Dismiss the progress dialog
            if (pDialog.isShowing())
                pDialog.dismiss();
            /**
             * Updating parsed JSON data into ListView
             * */
            ListAdapter adapter = new SimpleAdapter(
                    SingleContactActivity.this, matchList,
                    R.layout.list_match, new String[]  TAG_team01_name, TAG_team02_name , TAG_RESULT , new int[] 
                            R.id.team01_name, R.id.team02_name , R.id.result);

            //ImageView imgView = (ImageView) findViewById(R.id.radiant_win);
            //imgView.setVisibility(View.INVISIBLE);
            //TextView textview =(TextView )findViewById(R.id.text);
            setListAdapter(adapter);
        

更新:我尝试按照答案之一创建此功能,但没有奏效。

public View getView(int position, View convertView, ViewGroup parent) 
      LayoutInflater inflater = getLayoutInflater();  
        View rowView = inflater.inflate(R.layout.list_match, parent, false);
        //TextView textView = (TextView) rowView.findViewById(R.id.label);
        ImageView imageView = (ImageView) rowView.findViewById(R.id.radiant_win);
        //textView.setText(values[position]);
        // change the icon for Windows and iPhone
        //String s = values[position];

          imageView.setImageResource(R.drawable.team_navi);
            //imageView.setVisibility(View.INVISIBLE);


        return rowView;
      

【问题讨论】:

使用自定义Adapter 并在getView() 中显示/隐藏您需要的内容 【参考方案1】:

解决方案是使用自定义适配器而不是简单适配器。然后,您必须使用所需的所有小部件(imageView、TextField 等)创建一个自定义 xml。在您的自定义适配器类中,在您之前覆盖的 getView() 方法中,您可以指定 imageView 可见性的条件。这个例子应该可以帮助你:

http://www.learn-android-easily.com/2013/06/listview-with-custom-adapter.html

另请阅读 (http://developer.android.com/reference/android/widget/Adapter.html)

【讨论】:

以上是关于更改列表视图中图像的可见性的主要内容,如果未能解决你的问题,请参考以下文章

如何从活动中更改片段中视图的可见性

如何处理自定义 android 视图/小部件的可见性更改

如何将图像视图的可见性设置为 Spinner 所选项目的可见性

除了 onCreate 方法之外,无法更改视图的可见性

无法以编程方式设置列表视图中按钮的可见性

如何通过方向更改控制视图可见性(可见/不可见)? [复制]