بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
اشکال در لیست ویو بسیار فوری
سلام من یک لیست ویو دارم که کاملا مطابق با آموزش های استاده فقط آیتم های UI فرق دارن اما وقتی اسکرول می کنم مقدار قبلیشونو از دست میدن !!!! تورو خدا کمکم کنید ....
public class AdapterPiece extends ArrayAdapter<StructPiece> {
public AdapterPiece(ArrayList<StructPiece> array) {
super(G.context, R.layout.adapter_piece, array);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StructPiece item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_piece, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
}
else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
private static class ViewHolder {
public TextView itemNumber;
public EditText edtnumber;
public EditText edtLength;
public EditText edtWidth;
public ViewHolder(View view) {
itemNumber = (TextView) view.findViewById(R.id.txtNumber);
edtnumber = (EditText) view.findViewById(R.id.edtNumber);
edtLength = (EditText) view.findViewById(R.id.edtLength);
edtWidth = (EditText) view.findViewById(R.id.edtWidth);
}
public void fill(ArrayAdapter<StructPiece> adapter, final StructPiece item, int position) {
edtLength.setText("" + item.Length);
edtWidth.setText("" + item.width);
edtnumber.setText("" + item.numOfPieces);
itemNumber.setText("" + (position + 1));
item.Length = Double.parseDouble(edtLength.getText().toString());
item.width = Double.parseDouble(edtWidth.getText().toString());
item.numOfPieces = Integer.parseInt(edtnumber.getText().toString());
}
}
}
*********************************************************************************************************
*********************************************************************************************************
public class ActivityPieces extends Activity {
public ArrayAdapter adapter;
public static int numberOfPieces = 0;
@Override
protected void onResume() {
G.currentActivity = this;
super.onResume();
if (adapter != null) {
adapter.notifyDataSetChanged();
}
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form_pieces);
Typeface btnFont = Typeface.createFromAsset(getAssets(), "mj_freehand.ttf");
ListView listPieces = (ListView) findViewById(R.id.listPieces);
Button btnAdd = (Button) findViewById(R.id.btnAdd);
btnAdd.setTypeface(btnFont);
adapter = new AdapterPiece(G.pieces);
listPieces.setAdapter(adapter);
btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
}
});
for (int i = 0; i < 10; i++) {
StructPiece piece = new StructPiece();
G.pieces.add(piece);
adapter.notifyDataSetChanged();
}
}
}
0
0
مشکل شما در قسمت متد fill هست شما باید برای هر EditText یک OnClickListener تعریف کنید و با هر تغییر در اون مقدار در item ذخیره بشه (11 سال پیش)
+1
0
این کارم کردم اما نتیجه نمیده !!!!!
(11 سال پیش)
+1
0
ببین وقتی مقدار های editText هاتو پر میکنی باید بعد اینکه یه onClickListenerی صدا شد مقادیرو یه جایی ذخیره کنی وگرنه اسکرول که میکنی پاکش میکنه آیتم های جدید رو جاش میاره بعد که دوباره اسکرول میکنی جای قبلیت چیزی نداره بریزه توی EditTextها. (11 سال پیش)
0
0
ببین وقتی مقدار های editText هاتو پر میکنی باید بعد اینکه یه onClickListenerی صدا شد مقادیرو یه جایی ذخیره کنی وگرنه اسکرول که میکنی پاکش میکنه آیتم های جدید رو جاش میاره بعد که دوباره اسکرول میکنی جای قبلیت چیزی نداره بریزه توی EditTextها. (11 سال پیش)
0
0
ببین وقتی مقدار های editText هاتو پر میکنی باید بعد اینکه یه onClickListenerی صدا شد مقادیرو یه جایی ذخیره کنی وگرنه اسکرول که میکنی پاکش میکنه آیتم های جدید رو جاش میاره بعد که دوباره اسکرول میکنی جای قبلیت چیزی نداره بریزه توی EditTextها. (11 سال پیش)
0
0
ببین وقتی مقدار های editText هاتو پر میکنی باید بعد اینکه یه onClickListenerی صدا شد مقادیرو یه جایی ذخیره کنی وگرنه اسکرول که میکنی پاکش میکنه آیتم های جدید رو جاش میاره بعد که دوباره اسکرول میکنی جای قبلیت چیزی نداره بریزه توی EditTextها. (11 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .