이 질문은 자주 묻습니다. 그러나 나에게 도움이되는 것은 없습니다.edittext를 사용하여 listview가 스크롤 할 때 값을 반복합니다.
edittext 반복의 listview 값을 스크롤 할 때 edittext와 함께 listview가 있습니다.
주세요.
코드 : 현재 위치에 대한 글고의 값을 포함
public View getView(int position, View view, ViewGroup parent) {
View mView = view; //trying to reuse a recycled view
if (mView == null) {
//The view is not a recycled one: we have to inflate
mView = getActivity().getLayoutInflater().inflate(
getResource(), parent, false);
holder = new ViewHolder();
holder.row = (OEDataRow) moveLinesfinalData.get(position);
holder.eProductName = (TextView) mView.findViewById(R.id.textViewProductNameFinal);
holder.eProductName.setText(holder.row.getString("name").toString());
holder.innerLinearLayout = (LinearLayout) mView
.findViewById(R.id.innerLinearLayout);
holder.editTextProductId = (EditText) holder.innerLinearLayout
.findViewById(R.id.editTextProductId);
holder.eProductSerial = (EditText) holder.innerLinearLayout
.findViewById(R.id.editTextSerialFinal);
holder.BarCode = (Button) holder.innerLinearLayout.findViewById(R.id.buttonBarcode);
holder.editTextProductIdFocus = (EditText) holder.innerLinearLayout
.findViewById(R.id.editTextProductId);
mView.setTag(holder);
} else {
// View recycled !
// no need to inflate
// no need to findViews by id
holder = (ViewHolder) mView.getTag();
}
if(holder.row != null) {
holder.editTextProductId.setText(holder.row.getInt("id").toString());
}
holder.eProductSerial.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
String newSerial = s.toString();
String id = holder.editTextProductIdFocus.getText().toString();
productData.put(id,newSerial);
}
});
Log.d("list", "list productData "+productData);
holder.BarCode.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
v.getId();
}
});
return mView;
}
을 변경, 당신은 확인하기 위해'getView'에있는 경우 현재 행 (위치)는 정보가 저장되어있는 위치에 맞습니다. 그렇지 않다면, edittext 텍스트를 ""에 넣으십시오. – zozelfelfo
[Android : EditText가 ListView의 스크롤에서 내용을 잃을 수 있습니까?] (http://stackoverflow.com/questions/9328301/android-edittext-loses-content-on-scroll-in-listview) – Gattsu
@maven : I 이미 저를 위해 작동하지 않는 그 해결책을 시도했다. 배열 대신에 –