2012-07-29 25 views
1

这是情况; 我有一个ListView与自定义适配器。每个列表项目包括一个按钮和一个隐藏的TextView(可见性= GONE)。当我们点击按钮时,它会显示隐藏的文本视图。 在此之前,它完美地工作。如何在自定义适配器内部动态设置ListView高度?

问题是,当显示TextView时,ListView的高度应相应增加。 我试图调整高度像..

list=(ListView)activity.findViewById(R.id.listView); 
ViewGroup.LayoutParams l= lst.getLayoutParams(); 
l.height=l.height+150; //assuming the height of the TextView is 150 
list.setLayoutParams(l); 

但它不能正常工作。我的意思是,身高增加,但它与前一部分混乱。即;现在当我点击按钮时,它不显示相应的TextView。它在其他ListItem中显示TextView。

请帮我找到解决办法; 谢谢。

enter image description here

+0

好的问,可以更好,如果你可以发布屏幕截图 – AAnkit 2012-07-29 07:10:53

回答

0

与使用View.Gone,设置可见性View.INVISIBLE。点击后,应将textview设置为View.VISIBLE。消失意味着TextView不应该保持布局。 让我们看看View definations

你可以发送listview,xml文件。

+0

感谢您的回复, 我认为,将可见性设置为View.INVISIBLE会导致视图保留一些空间。这可能会导致在列表中创建一些不需要的空白空间。我想在用户扩展列表时创建一些空间。 – 2012-07-29 08:41:39

+0

在用于listview的适配器布局中,可以使用相对布局解决问题,并提供绝对高度值,而不是使用wrap_content。然后你可以使用View.Gone。 – 2012-07-29 08:59:29

相关问题