原文地址:http://hbxflihua.iteye.com/blog/1522812
不曾想,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的控件对象都有该属性,所以你不用担心这个属性是不存在的。各位如果有更好的解决方案也可以拿出来晒一晒。