【问题标题】:eclipse android sdk does not update code after changeseclipse android sdk 更改后不更新代码
【发布时间】:2014-10-18 02:31:25
【问题描述】:

问题:

似乎没有任何问题,没有任何错误信息,但是即使对于最简单的示例,代码的更改也不再生效。即:

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();
    
    switch(view.getId()) {
        case R.id.rdo_todo:
            if (checked){
                Log.e("actedit", "rdo click22");
                }
            break;
        case R.id.rdo_reminder:
            if (checked){
                TimePickerDialog_doofin.newInstance(0, 10, true)
                .show(getFragmentManager(), "tpddf");
                
            }
            break;
    }
}

添加一些记录器:

public void onRadioButtonClicked(View view) {
    // Is the button now checked?
    boolean checked = ((RadioButton) view).isChecked();
    Log.e("actedit", "rdo click???");
    switch(view.getId()) {
        case R.id.rdo_todo:
            if (checked){
                Log.e("actedit", "rdo click22");
                }
            break;
        case R.id.rdo_reminder:
            if (checked){
                TimePickerDialog_doofin.newInstance(0, 10, true)
                .show(getFragmentManager(), "tpddf");
                Log.e("actedit", "rdo click rm");
            }
            break;
    }
}

当我单击单选按钮时,记录器不显示。代码中的其他更改也没有在设备中生效。

我试过但没有效果

我查看磁盘中的源文件,它确实改变了。从设备中删除 apk 并在调试模式下重新安装 apk,问题仍然存在。 清洁项目 删除项目 bin 文件夹中的 . 删除.metadate文件重新导入项目,还是没用!!

我的看法

eclipse 必须有一些地方可以隐藏/存储旧代码,但它在哪里? 来自这个链接:Java Code not properly updating

如果这些都不起作用,那么我相信文件系统中可能存在某种锁定 但是我已经重启了几次,并使用vim查看源代码实际上发生了变化

额外信息

我使用 android sdk 和 eclipse juno。

原因

之前电脑有3个版本的android sdks:4.2.2,4.4.2,4.4w,我主要用4.4.2。 昨天我删除了4.4.2 sdk并开始使用4.4w sdk,之后出现问题。

最奇怪的是:我删除了 .metadata 和项目自己的 bin 文件夹中的每个文件,但是当我运行应用程序时,它仍然给我旧代码的结果!

更新

我开始一个新项目,代码运行正常,没有问题。 所以我将旧项目的 bin 和 src 文件夹复制到新的,希望问题可以解决,但它仍然存在......

【问题讨论】:

  • 你确定Build Automatically被选中了吗?此外,如果您删除 .metadata,您将无法再打开 Eclipse 项目,所以这没有任何意义。
  • 是的,它已被选中,并且工作区可以以某种方式打开

标签: java android eclipse


【解决方案1】:

您是否尝试过刷新整个项目,然后再进行清理。

在日食中: 项目 -> 清理 -> 清理所有项目。

然后,再次运行您的应用。

【讨论】:

    【解决方案2】:

    你的函数onRadioButtonClicked 是否被调用过? 您可以通过调试来确认。

    如果您在 onRadioButtonClicked 内有断点,单击单选按钮并且调试器不会停止 - 您是否已将 onRadioButtonClicked 函数分配给您的单选(在布局 xml 文件或代码中)?

    有两个选项可以添加监听器

    从 xml 布局文件设置单选按钮监听器

    android:onClick="onRadioButtonClicked" 在你的RadioButton 标签中。

    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/pirates"
        android:onClick="onRadioButtonClicked"/>
    

    从 java 代码设置单选按钮监听器

    RadioGroup radioGroup = (RadioGroup) findViewById(R.id.yourRadioGroup);        
    radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    {
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // checkedId is the RadioButton selected
        }
    });
    

    【讨论】:

    • 是的,它被调用了。当我点击它时,我只是得到了旧的调试信息
    【解决方案3】:

    您的项目有 Ant/Maven/Gradle 构建吗? 如果是,那么

    1. 删除目标/bin 目录
    2. 从命令行重建(不是从 IDE)
    3. 检查工件的(新)日期是否正确
    4. 重新部署

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      • 2015-06-21
      相关资源
      最近更新 更多