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