私は多くの調査を行い、私と大学はこれを理解しようと何時間も費やしました. これが重複として閉じられるリスクがあるので、他に頼る場所がありませんでした! 繰り返されるListViewの多くのソリューションに出くわし、ビューが(convertViewを使用して)どのように再利用されるかを理解しています。しかし、私の問題がどこから来たのかを見つけることができないようです。リスト内の 1 つの EditText にテキストを入力すると、5 ~ 6 個の項目が表示されます...同じテキストが表示されます。
皆さんが私を助けてくれるように、以下にコードを添付しましgetView(...)
たが、他に何か必要な場合はお知らせください.
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// inflator for all the views
LayoutInflater vi = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// the object where I will be getting my display data
final Object currentItem = drawItems.get(position);
// standard adapter/view stuff
View v = convertView;
ViewHolder holder = null;
int type = getItemViewType(position);
if (v == null) {
holder = new ViewHolder();
switch (type) {
case TYPE_ROW:
v = vi.inflate(R.layout.row_textview, null);
// get my views
holder.editText= (EditText) v
.findViewById(R.id.line_edittextview);
break;
case TYPE_SUMMARY:
v = vi.inflate(R.layout.row_summary, null);
break;
}
Log.i(TAG, "Convert View Tag being set: " + holder);
v.setTag(holder);
} else {
Log.i(TAG,
"Getting holder from Convert View Tag: " + v.getTag());
holder = (ViewHolder) v.getTag();
}
switch (type) {
case TYPE_ROW:
Log.i(TAG, "Holder in use: " + holder);
holder.editText.setText("Line " + (position + 1));
break;
case TYPE_SUMMARY:
break;
}
return v;
}
@Override
public int getItemViewType(int position) {
return TYPE_BETSLIP;
}
@Override
public int getViewTypeCount() {
return 2;
}
ありがとう!:-)