0
我有一個listView與一些數據,我膨脹得到一些不錯的背景顏色。問題是我想得到一些真棒分隔符,我無法根據行的數據設置DividerHeight(),因爲它似乎不能在相同的getView()方法上膨脹兩個視圖,下面是一些代碼:問題listview android
public View getView(int position, View convertView, ViewGroup parent){
String myText = getItem(position).toString();
String firstLetter = Character.toString(myText.charAt(0));
if(convertView == null){
convertView = this.inflater.inflate(R.layout.lettersrows, null);
}
TextView tv = (TextView)convertView.findViewById(R.id.label);
tv.setText(this.list.get(position));
tv.setTextSize(25);
convertView.setBackgroundColor((position & 1) == 1 ? Color.WHITE : Color.LTGRAY);
/**This is what i want to do*/
if(!firstLetter.equals("A")){
convertView = this.inflater.inflate(R.layout.letters, null);
ListView lv = (ListView)convertView.findViewById(R.id.letters_listview);
lv.setDividerHeight(3);
}
return convertView;
}
我得到的錯誤是一個NullPointerException:tv.setText(this.list.get(position)); 我猜想那個convertView現在是一個ListView,這就是爲什麼它沒有找到設置文本的位置。我怎麼能解決這個問題。
此致敬禮。
'我想得到一些真棒分隔符'。我很抱歉,android不支持「真棒」分隔符,只是普通的分隔符。 – Falmarri 2010-12-14 18:50:25
這似乎是一個非常糟糕的想法。爲什麼轉換視圖中的內容會影響您返回的視圖?這似乎非常不確定。 – Falmarri 2010-12-14 18:51:56