ListViewに単一の行を追加します。以下のコードを実行すると、2行追加されます.1行には追加したいテキストと空の1行が追加されます。空のものがなぜ追加されたのですか?私はデバッグする場合(ライン[0]今ため(を持つファイルである)、その中に1行)Listviewは項目を2回追加します
listAdapter = new ArrayAdapter<String>(getApplicationContext(),R.layout.listviewrow, R.id.txt_listviewItem, lines){
@Override
public View getView(int position, View convertView, ViewGroup parent){
View myView = convertView;
if (myView == null) {
LayoutInflater li = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
myView = li.inflate(R.layout.listviewrow, null);
} else {
TextView txt_listviewItem = (TextView)myView.findViewById(R.id.txt_listviewItem);
txt_listviewItem.setText(lines[0]);
}
return myView;
};
...
listView.setAdapter(listAdapter);
は、listview.setAdapter(listAdapter)は前後のgetViewメソッドのコードの実行と呼ばれています。どうして?私は一度だけそれを呼ぶ。
'lines'の内容は何ですか? –
そして、デバッガがsetAdapter行を押すと、アダプタ内のすべてのオブジェクトに対してgetViewが呼び出され、setAdapterに戻ります... setAdapterは2回実行されません –
コードを追加してくださいあなたが投稿したコードではなく、どこかにある。 – JonasCz