私はいくつかのデータを使ってリストビューを取得しました。問題は、私はいくつかの素晴らしいセパレータを取得したいと私はsetDividerHeight()行のデータに応じて、私は同じgetView()メソッドで2つのビューを膨らませることができないようですので、ここでいくつかのコード:リストビューの問題
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になっているので、テキストを設定する場所が見つからないのは当然だと思います。どのように私はこの問題を解決することができます。
よろしくお願いいたします。
「私はいくつかの素晴らしいセパレータを取得したいです。申し訳ありませんが、アンドロイドは「素晴らしい」セパレータをサポートしていません。 – Falmarri
これは本当に悪い考えのようです。変換されたビューの内容は、返されるビューにどのような影響を与えますか?これは非常に決定的ではないようです。 – Falmarri