2014-03-12 83 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 - 這樣你確保 內部佈局內置