0

textviewとedittextが2列の動的リストビューがあります。textviewには適切なデータが付属していますが、最初の行のedittextに値を挿入すると、リストを下にスクロールし、3番目の行でedittextに最初の行のedittext値が入力されます。なぜこれが起こっているのか分かりません。私を助けてください。

4

2 に答える 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 に答える