一个RelativeLayout里面包含了两个button按钮“返回”和“保存”,注册监听后运行却出现一个奇怪的问题,点击返回却触发保存的事件?这是怎么回事?
layout:
<Button
android:id="@+id/back"
android:layout_width="65px"
android:layout_height="wrap_content"
android:layout_marginLeft="40px"
android:text="@string/back"
android:textSize="20sp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
>
</Button><Button
    android:id="@+id/save"
    android:layout_width="65px"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_marginRight="40dp"
    android:text="@string/save"
    android:textSize="20sp" />
string:
    
<string name="back">返回</string>
<string name="save">保存</string>代码: back = (Button)findViewById(R.id.back);
save = (Button)findViewById(R.id.save);

back.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(LocationSetup.this, MainActivity.class);
startActivity(intent);
LocationSetup.this.finish();
}
});

save.setOnClickListener(new OnClickListener() { 

@Override
public void onClick(View v) {
Config.getConfig().setTimeInterval(Integer.parseInt(timeInterval.getText().toString()));
if(Config.getConfig().saveConfig()){
Toast.makeText(LocationSetup.this, getString(R.string.tip0), Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(LocationSetup.this, getString(R.string.tip1), Toast.LENGTH_SHORT).show();
}

}

解决方案 »

  1.   

    我觉得你检查下代码吧,看你代码是没反 但是常识上来说这是不可能的
    android系统就算有bug这样的bug也太明显了 也不可能 所以觉得你还是
    把整个你的代码检查一遍 不然你就全部贴出来
    我们建一个project测试下 看看是不是你说的
      

  2.   

    会不会把事件(onClick中)写反了哦。要不你试试在xml中给它们配置同一个onclick方法名,在代码里面实现这个方法,通过判断不同的view_id来触发不用的事件试试