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

Posted

技术标签:

【中文标题】按钮 onClick 上的 Android 增量计数器值【英文标题】:Android Increment counter value on button onClick 【发布时间】:2015-12-10 01:02:06 【问题描述】:

我想在我的数据库中将一个列表保存为 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();
        
    

【问题讨论】:

【参考方案1】:

使用静态counter 值。

private static int counter = 0;

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

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

【讨论】:

以上是关于按钮 onClick 上的 Android 增量计数器值的主要内容,如果未能解决你的问题,请参考以下文章

浮动操作按钮 onClick 上的 viewPagerAdapter 片段 NullPointerException

Android之按钮

如何在android xml中设计4个可点击的圆形字段

在 Android 中设计一个按钮

反应:移动(iPhone)上的onClick需要2次点击?

Android - 在 onClick 操作期间隐藏按钮