Android 列表视图如何操作列表适配器项视图的对象
下面是我从页眉和页脚获取对象id的代码。如何在没有onClick事件的情况下获取列表视图数据适配器的视图。我想在查看我的布局时进行一些布局操作 有谁能告诉我,当我实现mg getView2时,我做得对吗 这是我从listAdapter调用getView2时的代码 试试这个: 隐藏布局:Android 列表视图如何操作列表适配器项视图的对象,android,android-layout,android-listview,Android,Android Layout,Android Listview,下面是我从页眉和页脚获取对象id的代码。如何在没有onClick事件的情况下获取列表视图数据适配器的视图。我想在查看我的布局时进行一些布局操作 有谁能告诉我,当我实现mg getView2时,我做得对吗 这是我从listAdapter调用getView2时的代码 试试这个: 隐藏布局: LayoutInflater inf = LayoutInflater.from(this); View v = inf.inflate(R.layout.listview_layout, null); //a
LayoutInflater inf = LayoutInflater.from(this);
View v = inf.inflate(R.layout.listview_layout, null);
//add magic here bu i don't know how can i get the view of these View and ViewGroup
View itemConvertView = inf.inflate(R.layout.listview_layout, null);
ViewGroup listParent =null; //this.getParent();//(ViewGroup)SelectorView.this.getParent();// null;
adapterListView.getView2(this,0, itemConvertView, listParent);
显示您的布局:
YourLayout.setVisibility(View.GONE);
如果我正确理解了您的问题,那么您需要按语法获取
列表视图的第一个元素,并更改其状态(可见性)
您可以通过调用getChildAt(int-index)
方法在ListView中获取元素
e、 g
访问驻留在listview第一行中的元素的子元素
LinearLayout yourFirstView = (LinearLayout) listview.getChildAt(0);
设置可见性
ViewType view = (ViewType)yourFirstView.findViewById(R.id.elementId);
我从您的问题中了解到,ListView项目中有一些视图,您只想在需要时显示这些视图。您可以在适配器的getView方法中执行此操作,在该方法中,您可以展开列表项的自定义布局。像下面这样
yourFirstView.setVisiblity(View.Gone); // or View.VISIBLE
LinearLAyout.setVisibility(View.GONE或VISIBLE);试着这样做…我想在列表视图显示项目之前操作布局项目。然后在原版中执行此操作我想在代码中编辑它,但不对我的xml执行此操作我想获取列表视图项目的视图我的任务是从上面编写的xml适配器中操作列表视图项目的对象。每个列表视图项都有一个布局块,我想通过设置可见性()来编辑它们的视图。但是我不知道如何使用列表视图的项目视图调用项目..列表视图的每个元素我想在那里获得布局对象块。我如何从适配器中调用我的对象视图的特定id资源..?看看我的headerView代码,我使用headerView.findViewById(R.id.textViewTinValue)实例化了TextView;类似于这个过程…我有我的xml数据适配器。这就是我想要操纵的数据。每个列表项都包含整个xml数据适配器。如何调用要操纵的线性布局的指定视图和资源索引…?yourFirstView.findViewById(R.id.elementId)代码>这是如何访问ListView中每一行的子级的,如果视图为空,则表示指定行中不存在视图
。在yourFirstView
上放置一个调试点,并检查mChildren
以确定谁是yourFirstView
的子视图。然后你就会知道你在yourFirstView
中缺少了视图。我怎么称呼这个类?如何获取视图和视图组的参数。。我真的不知道如何实现这一点。但我也尝试过类似的方法,但它没有参数View和ViewGroup。。
YourLayout.setVisibility(View.GONE);
YourLayout.setVisibility(View.VISIBLE);
LinearLayout yourFirstView = (LinearLayout) listview.getChildAt(0);
ViewType view = (ViewType)yourFirstView.findViewById(R.id.elementId);
yourFirstView.setVisiblity(View.Gone); // or View.VISIBLE
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater layoutInflater = get your layout inflator;
if (convertView == null) {
convertView = layoutInflater.inflate(R.layout.XXXX, null);
}
LinearLayout yyy = (LinearLayout) convertView.findViewById(R.id.member_name_text_view);
yyy.setVisibility(View.Gone)
return convertView;
}