Java 如何在Android中重置AtomicInteger唯一Id?

Java 如何在Android中重置AtomicInteger唯一Id?,java,android,uniqueidentifier,Java,Android,Uniqueidentifier,我想用重置按钮创建一个唯一的Id。我有一个类ViewIdViewId类包含AtomicIntegerAtomicInteger成功创建唯一Id。但我想使用按钮重置唯一Id。因此,请帮助我重置并再次创建唯一Id ViewIdClass: import java.util.concurrent.atomic.AtomicInteger; public class ViewId { private static ViewId INSTANCE = new ViewId(); private At

我想用重置按钮创建一个唯一的Id。我有一个类
ViewId
ViewId
类包含
AtomicInteger
AtomicInteger
成功创建唯一Id。但我想使用按钮重置唯一Id。因此,请帮助我重置并再次创建唯一Id

ViewId
Class:

import java.util.concurrent.atomic.AtomicInteger;

public class ViewId {

private static ViewId INSTANCE = new ViewId();

private AtomicInteger seq;

private ViewId() {
    seq = new AtomicInteger(0);
}

public int getUniqueId() {
    return seq.incrementAndGet();
}

public static ViewId getInstance() {
    return INSTANCE;
}
}
public class MainActivity extends AppCompatActivity {

EditText editValue;
ViewId viewId = ViewId.getInstance();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editValue = (EditText)findViewById(R.id.editText);

}

// Increment Button
public void floatIncrement(View view) {
    Log.e("Incremented value is : ", String.valueOf(viewId.getUniqueId()));
}

// Reset Button
public void resetBtn(View view) {
    // reset here
}
}
main活动
Class:

import java.util.concurrent.atomic.AtomicInteger;

public class ViewId {

private static ViewId INSTANCE = new ViewId();

private AtomicInteger seq;

private ViewId() {
    seq = new AtomicInteger(0);
}

public int getUniqueId() {
    return seq.incrementAndGet();
}

public static ViewId getInstance() {
    return INSTANCE;
}
}
public class MainActivity extends AppCompatActivity {

EditText editValue;
ViewId viewId = ViewId.getInstance();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    editValue = (EditText)findViewById(R.id.editText);

}

// Increment Button
public void floatIncrement(View view) {
    Log.e("Incremented value is : ", String.valueOf(viewId.getUniqueId()));
}

// Reset Button
public void resetBtn(View view) {
    // reset here
}
}

只需调用
seq.set(0)
,这将使您的
AtomicInteger
返回到0。

您想在哪里使用此id。我看不到它被使用?@Diyoda我有两个按钮1<代码>浮动增量,2<代码>重置BTN。我想在单击“增量”按钮时将id存储在数据库中。我在日志中显示结果。
floatIncrement
btn增加值(例如:1,2,3,…)。当我单击
resetBtn
时,我想再次(1,2,3,…)排序。。我很高兴有人帮了你。昨天我还没来得及看电视呢。对不起that@hipokito我不知道它是否仍然有用,但我假设静态代码分析器正在标记它,对吗?如果是这样,您可以将“0”声明为常量,例如,
private static final int INITIAL_VAL=0