Android 按钮 onClick 上的递增计数器值

标签 android auto-increment

我想在我的数据库中将列表保存为 List1, List2,-----, List(n+1)。它正在保存我的列表,但每次我保存列表时它都从 List1 开始。我想通过选择最后保存的列表并将其递增 1 来保存我的列表。如何执行此操作?

代码:

btn_save_list.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
                ++counter;
                showSavelistDialog(counter);

        }
    });
private void showSavelistDialog(int counter) {
if (!list.isEmpty()) {

        String draftName=  "Draft"+counter;
        SaleDraftDatabase saleDraftDatabase = new SaleDraftDatabase(
                mActivity);
        saleDraftDatabase.open();

        boolean nameAvailable = saleDraftDatabase
                .checkDraftNameAvailable(userId,draftName);
        if (nameAvailable) {
            boolean saveCheck = saleDraftDatabase.createEntry(list,
                    userId,draftName);
            saleDraftDatabase.close();
            if (saveCheck) {
                SalesReturnDatabase saleDatabase = new SalesReturnDatabase(
                        mActivity);
                saleDatabase.open();
                saleDatabase.deleteAllEntriesOfSingleUser(userId);
                saleDatabase.close();
                list.clear();
                barcodeList.clear();
                Intent i = new Intent(mActivity,
                        Activity_Sales_Return.class);
                i.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
                        | Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(i);
                finish();
                Toast.makeText(
                        Activity_Sales_Return.this,
                        draftName
                                + " sale saved as draft.",
                        Toast.LENGTH_SHORT).show();
            } else
                Toast.makeText(Activity_Sales_Return.this,
                        "Some error occured", Toast.LENGTH_SHORT)
                        .show();
        } else {

            Toast.makeText(mActivity,
                    "Name already in use. Choose another name.",
                    Toast.LENGTH_SHORT).show();
        }
    }

最佳答案

使用静态计数器值。

private static int counter = 0;

所以它的增量在所有对象上都是相同的。

或者,将计数器值保存在 SharedPreference 中。

关于Android 按钮 onClick 上的递增计数器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32557827/

相关文章:

mysql - 如何在 MySQL 中重置 AUTO_INCRMENT

Android - 视频压缩

android - 如何添加 mopub 广告库与 android studio 的集成

android - Facebook SDK 4+ 注销无法正常工作

sql - 替代 Postgres SERIAL 字段以解决在 ON CONFLICT 导致更新时递增的值

java - 使用 Java 使用数据库每天重置自动编号

MySQL 和自动增量一致性

java - 如何以编程方式移动 mapView (osmdroid)

VSCode 中的 Android 模拟器 Chrome 调试

mysql - 数据库迁移 : auto-incremented foreign key trouble