我的 TxnNo(A0010001) 来自 Unitcode(A001) + LastTxnNo(0001)。这是我的按钮点击。
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();
increaseNumber++;
populate_TxnNo();
Toast.makeText(Donation_Page.this, "Add successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
});
I put increaseNumber++;
以确保它会自动增加。所以每次我点击按钮。号码将从“A0010001”更改为“A0010002”,依此类推。但是一旦我离开这个页面,然后再次进入。它将返回“A0010001”。如何让它保持最新的数字而不是回到“A0010001”。这是设置编号的方法。
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;
//increaseNumber++;
D_Txn.setText(txnNo);
}
UPDATE
所以对于我来说要理解共同偏好我将这些代码放入新按钮中。
Db_New.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
increaseNumber++;
populate_TxnNo();
}
});
但我不知道如何使用共同偏好即使我看到代码示例...任何人都可以为我解释一下吗?如何使用该代码?
SharedPreferences prefs;
SharedPreferences.Editor edit;
prefs=this.getSharedPreferences("yourPrefsKey",Context.MODE_PRIVATE);
edit=prefs.edit();
edit.putString("yourKey", txnNo);
edit.commit();
String txnNo = prefs.getString("yourKey", null);