首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

ListView中子项内如何访问

2012-06-12 
ListView中子项内怎么访问?我的ListView里面使用Xml来做子项子项里面有一个Button和一个TextView是自定义

ListView中子项内怎么访问?
我的ListView里面使用Xml来做子项

子项里面有一个Button和一个TextView

是自定义一个DetailAdapter,在这个里面通过mInflater.inflate(xml文件)绑定

在这里的getView()里定义的Button的Click方法,我想在这个事件去修改TextView的值,怎么做?


在网上找了很久,还是没有找到合适的办法,希望各位大哥帮帮忙!!!谢谢



[解决办法]
set属性?
[解决办法]
(TextView) listview.getChildAt(i).findViewById(
R.id.TextViewScore);

这个应该可以吧
[解决办法]
这里有个挺好的总结,当时我弄ListView+Button的时候就在这儿学习的。
http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html
[解决办法]
自定义的DetailAdapter里面

Java code
@Override    public View getView(int position, View convertView, ViewGroup parent) {        // TODO Auto-generated method stub         final ViewHolder holder = null;                    if (convertView == null) {               holder=new ViewHolder();                 convertView = mInflater.inflate(inflateID, null);               holder.table = (Button)convertView.findViewById(R.id.tableLayout1);               holder.title = (TextView)convertView.findViewById(R.id.textView_title);               convertView.setTag(holder);           }else{               holder = (ViewHolder)convertView.getTag();           }         holder.table.setOnClickListener(new OnClickListener(){                @Override                public void onClick(View v) {                    // TODO Auto-generated method stub                    holder.title.setText("Title Text");                }             });                  return convertView;     }        private final class ViewHolder{          public Button table;        public TextView title;    }
[解决办法]
这个问题很深奥啊
[解决办法]
探讨
8楼的兄弟
我的是你这种情况

但是,你把 final ViewHolder holder = null; 修改为final后,还可以修改?

你这个能编译通过吗?

[解决办法]
把TextView 设成Button 的tag,
或者
 public void onClick(View v) 
{
TextView textView = (TextView) v.getParent().findViewById(R.id.textview)
textView.setText("Test");
}
 Button
[解决办法]
探讨

额。。这样呀。。

我刚刚试了一下,可以改!但是改的不是当前那个Item的TextView的值。

是最后一个子项的值。

比如我一个ListView有100个子项,能显示出来的有10个,我点第一个item中的Button,却修改了第十个TextView的值。。。

[解决办法]
在getView里做相应处理就行了。
[解决办法]
http://blog.csdn.net/aomandeshangxiao/article/details/6643831 看一下我的这个博客吧 对你应该有用。看明白 你的问题应该能够解决了。
[解决办法]
帮顶 .

热点排行