您是否在您的XML布局中使用android:width =“wrap_content”来定义最后一列的宽度?
编辑:我想我只是理解,你有一个列表视图,它拥有一个表,并且你希望列表视图的所有行对于表的最后一行具有相同的长度。对?
我现在只能想到一个非常不合适的解决方案,它涉及在构建列表视图之前检查所有字符串。
一般的逻辑将如下所示:
我要去假设你正在从一个数组中获得人串,让调用它的数据。
建立一个全局浮点型变量来表示您拥有的最长字符串,我们称它为maxLength。在你列表视图构造
int size = data.length;
maxLength = 0.0f;
for(int i = 0;i<size;i++){
invisibleText.setText(data[i]);
float thisLength = invisibleText.getTextSize();
if(thisLength>maxLength) maxLength = thisLength;
}
:
创建一个TextView(可以称之为invisibleText)在你的布局,不会是可见的,你可以通过设置
android:visibility="gone"
那么做到这一点
TextView text = (TextView)findViewById(R.id.the_text_view_you_want);
text.setText(data[position]);
text.setWidth(maxLength)
表列应该使用android:width =“wrap_content” 我没有测试这个代码,但它应该工作,我以前做过类似的东西。
是的我最后一列使用android:width =“wrap_content”,是的,我希望表的最后一行在listView中的所有条目中具有相同的长度,并且希望该宽度仅为大到足以容纳应用中定义的最大长度字符串。 – user479811 2010-10-20 19:49:31
在答案中添加了一些内容。试试看。 – blindstuff 2010-10-20 20:25:50