나는 button.Click을 클릭하여 값을 추가하고 값을 줄이는 등의 작업을 수행하려는 응용 프로그램을 만들었지 만 문제는 없습니다. 목록보기를 스크롤 할 때 그 값은 0이됩니다.스크롤 할 때 ListView Items (TextView)가 다시로드 될 때
그러나 증가 버튼을 클릭하거나 감소 버튼을 클릭하면 나에게 진정한 가치를 부여합니다.
: 즉, 2를 추가 할 때입니다. 클릭하여
내가 페이지를 스크롤 할 때 그것은 0이 될 것이고, 내가 addButton을 클릭하면이 것 저에게 3
를 제공하거나 내가 페이지를 스크롤 할 때 다음이 0이 될 것이고, 내가 마이너스 버튼이 클릭 할 때 나는 TextView displayInteger가 버려지고 그 값을 잊어 버렸을 때 1 스크롤 바깥쪽으로 스크롤 할 때 1
을 줄 것이다.
여기에 전체 코드 : -
listViewadapter.java ListView
(또는 RecyclerView
)와
@Override
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
TextView mname , pmethod2, pamount3, premark4;
final ImageView increase,decrease;
final Button add;
inflater = (LayoutInflater) cntx
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LayoutInflater inflater = LayoutInflater.from(cntx);
convertView = inflater.inflate(R.layout.raw_order, parent,
false);
decrease = (ImageView) convertView.findViewById(R.id.decrease);
increase= (ImageView) convertView.findViewById(R.id.increase);
add= (Button) convertView.findViewById(R.id.add);
mname = (TextView) convertView.findViewById(R.id.mname);
mname.setText(" " + o_aproduct.get(position));
final TextView displayInteger = (TextView) convertView.findViewById(R.id.integer_number);
//add.setText(" " +count);
increase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int count = sia.get(position);
count= count + 1;
sia.put(position, count);
displayInteger.setText("" + count);
add.setText(" " +count);
if (count > 0) { decrease.setEnabled(true); }
}
});
decrease.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int count = sia.get(position);
count= count- 1;
sia.put(position, count);
displayInteger.setText("" + count);
add.setText(" " +count);
if (count > 0)
{decrease.setEnabled(true);}
else if (count == 0){
decrease.setEnabled(false);
}
else { decrease.setEnabled(false);}
}
});
return convertView;
}
사용 recylerview 대신 목록보기 –
의 난 당신이 같은 문제를 얻고있는 이유는 단지 .. 모든 – Andie
먼저 당신이 재사용 개념 그게 전부를 사용하지 않는 ListView에 함께이 작업을 수행해야합니다. 먼저 재사용 할 수있는 모델을 만들고 오래된 카운트 값을 저장하십시오. 친절하게도이 비디오를 보시고 어댑터로 목록보기를 설명해 주시면 도움이 될 것입니다. ** [사용자 지정 어댑터가있는 ListView] (https://www.youtube.com/watch?v=UMSdD05NVYQ) ** –