更改列表视图中图像的可见性
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)
【讨论】:
以上是关于更改列表视图中图像的可见性的主要内容,如果未能解决你的问题,请参考以下文章