my txn.getUnit_Code()
- это "A001", а txn.getLastTxnNo()
- это "0001".Обе строки.Я хочу увеличить последний номер txn всякий раз, когда я сохраняю запись.Но так как это строка, поэтому я поставил +1, она станет «A00100011» вместо «A0010002».Если я хочу сделать это от «A0010001» до «A0010002», как это сделать?
String txnNo = txn.getUnit_Code() + txn.getLastTxnNo() + 1;
D_Txn.setText(txnNo);
это кнопка сохранения.Поэтому я поместил приведенный выше код, чтобы сделать его "A0010001", но я не знаю, как сделать это после того, как я нажму кнопку. Следующий txnNo
становится "A0010002"
Model txn = new Model();// initialize your model class first
BigDecimal paidAmt = new BigDecimal(D_Amount.getText().toString()).setScale(2, RoundingMode.HALF_UP);
txn.setName(D_Name.getText().toString());
txn.setTxnNo(D_Txn.getText().toString());
txn.setTxnDate(Select_Date.getText().toString());
txn.setAmount(paidAmt);
txn.setDescription1(D_Description.getSelectedItem().toString());
txn.setDescription2(Ds_Description.getText().toString());
try {
SQLiteDatabase db = mSQLiteHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name", txn.getName());
cv.put("TxnNo", txn.getTxnNo());
cv.put("TxnDate", txn.getTxnDate());
cv.put("Amount", txn.getAmount().toPlainString());
cv.put("Description1", txn.getDescription1());
cv.put("Description2", txn.getDescription2());
db.insert("Donation_Details", null, cv);
db.close();
Toast.makeText(Donation_Page.this, "Add successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
МожетУ меня есть помощь ...?Заранее спасибо.
Это мое обновление
Я инициализировал int increaseNumber = 1;
на странице и положил increaseNumber++
при нажатии кнопки.Но это не работает.почему?
Db_Save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Model txn = new Model();// initialize your model class first
BigDecimal paidAmt = new BigDecimal(D_Amount.getText().toString()).setScale(2, RoundingMode.HALF_UP);
txn.setName(D_Name.getText().toString());
txn.setTxnNo(D_Txn.getText().toString());
txn.setTxnDate(Select_Date.getText().toString());
txn.setAmount(paidAmt);
txn.setDescription1(D_Description.getSelectedItem().toString());
txn.setDescription2(Ds_Description.getText().toString());
try {
SQLiteDatabase db = mSQLiteHelper.getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put("name", txn.getName());
cv.put("TxnNo", txn.getTxnNo());
cv.put("TxnDate", txn.getTxnDate());
cv.put("Amount", txn.getAmount().toPlainString());
cv.put("Description1", txn.getDescription1());
cv.put("Description2", txn.getDescription2());
db.insert("Donation_Details", null, cv);
db.close();
Toast.makeText(Donation_Page.this, "Add successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
increaseNumber++;
}
});
и этот формат я установил
private void populate_TxnNo() {
int lastNumber = Integer.valueOf(txn.getLastTxnNo());
lastNumber = lastNumber + increaseNumber ;
String stringLast = String.format("%04d",lastNumber);
String txnNo = txn.getUnit_Code() + stringLast;
D_Txn.setText(txnNo);
}