textviewとedittextが2列の動的リストビューがあります。textviewには適切なデータが付属していますが、最初の行のedittextに値を挿入すると、リストを下にスクロールし、3番目の行でedittextに最初の行のedittext値が入力されます。なぜこれが起こっているのか分かりません。私を助けてください。
質問する
1175 次
2 に答える
1
問題をよりよく理解できるように、いくつかのコードを提供してください。私が理解していることから、これは何が起こっているのかです。アダプターは、画面に収まる数のビューを生成します。リストを下にスクロールすると、新しいアイテムを生成する必要があります。これは、以下に示す getView() メソッド内で 2 つの方法で実行できます。
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
//inflater is the layout inflater for the custom view
convertView=inflater.inflate(R.layout.list_row, null);
return convertView;
}
else{
return convertView; //recycled view
}
}
convertView は、画面から消えたばかりのビューで、再利用できます。あなたの場合、破棄されるはずだった convertView が再び再利用されます。そのため、編集テキストの値が下のビューに再表示されます。
于 2012-11-23T11:51:29.327 に答える
0
具体的なID(手動で設定)を持つアイテムのレイアウトを膨らませているためだと思います。Androidはすべてのリストビューのアイテムが同じであると考える可能性があります
しかし、本当の助けが必要な場合は、ここにいくつかのコードとレイアウトを貼り付けてください...私たちは占い師ではありません
于 2012-11-23T11:13:35.070 に答える