不曾想,android系统也会有重复提交的问题。网上搜了下,基本没有出现过类似的问题。或许只是android早把这个问题解决了,而我只是不知道而已。
下面说说我的解决方案吧。首先,你提交是有一个触发事件监听的。这就涉及到两个东西,一个是被触发的对象,令一个是触发事件监听。
触发对象可以是任意的一个View对象。而监听是你手动创建的,所以也是可控的。
我的解决思路如下:在触发对象调用监听的时候,把触发对象设置为不可用。在当前Activity激活后再将触发对象设置为可用状态。
参考代码如下:
btn1= (Button)findViewById(R.id.btn1);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(HandwritingActivity.this,Test2Activity.class);
startActivity(intent);
v.setEnabled(false);//将当前触发控件给禁用
}
});
然后在Activity被激活后,再将触发对象设置为可用状态。
@Override
protected void onRestart() {
super.onRestart();
btn1.setEnabled(true);//将触发控件设置为可用
//tv1.setEnabled(true);
}
所有继承自View的控件对象都有该属性,所以你不用担心这个属性是不存在的。各位如果有更好的解决方案也可以拿出来晒一晒。