2014-03-12 121 views
0

之前getLineCount形式我想在我的适配器在getview功能渲染之前设置的TextView的高度。在getLineCount结果总是0 ...需要渲染的TextView

public View getView(LayoutInflater inflater, View convertView) 
{ 
    textView = (TextView) rowView.findViewById(R.id.text); 
    textView.setText(strText); 
    int height_in_pixels = textView.getLineCount() * textView.getLineHeight();// getLineCount is always 0 
    textView.setHeight(height_in_pixels); 
} 

我也在想,也许来计算strText的字符数,然后设置我的高度取决于字符

感谢数..你的帮助

+0

TextView不知道实际的行数,直到它已经呈现文本,所以你有一个典型的鸡蛋问题。你可以尝试使用View.INVISIBLE,使其运行你的代码,然后可见性改变,以View.VISIBLE – mach

+0

我怎样才能使它在getView()函数? – user1163234

回答

1

那是因为内部的布局没有确定,你有内部布局已建成之后调用它 - 你可以为 例如调用setText()后发布runnable - 这样你确保 内部布局内置