如何解决Android Studio中的重新声明错误

时间:2019-08-01 06:58:03

标签: java android kotlin

此代码用于android模拟器上的按钮。但是,当我将这段代码放在main activity.kt中时,它给了我很多错误。我遇到的第一个错误是主活动的第9行上的重新声明错误

package com.example.android.justjava

import android.R
import android.os.Bundle
import android.support.v7.app.ActionBarActivity
import android.view.View
import android.widget.TextView

// This activity displays an order form to order coffee.
class MainActivity : ActionBarActivity() {
    protected fun onCreate(savedInstanceState: Bundle) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)
    }

    // this method is called when the order button is clicked.
    fun submitOrder(view: View) {
      display(1)
    }

    // This method displays the given quantity value on the screen.
    private fun display(number: Int) {
      val quantityTextView = findViewById(R.id.quantity_text_view as TextView
      quantityTextView.text = "" + number
    }
}

此活动显示订购咖啡的订单。

public class MainActivity extends ActionBarActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }

   // This method is called when the order button is clicked.
   public void submitOrder(View view) {
       display(1);
   }

   // This method displays the given quantity value on the screen.
   private void display(int number) {
      TextView quantityTextView =(TextView) findViewById (R.id.quantity_text_view);
      quantityTextView.setText("" + number);
   }
}

4 个答案:

答案 0 :(得分:8)

  1. 文件选项卡->使高速缓存无效/重新启动(然后选择无效并从出现的对话框中重新启动)
  2. “构建”选项卡->“清理项目” 3.Build选项卡-> Rebuild

这应该可以解决问题。该解决方案与@Ehsan_Haghdoust解决方案相同,但是让Android Studio为我自己做,而不是自己做。

答案 1 :(得分:0)

您面临的问题是您有两个具有相同名称MainActivity的活动-一个活动在Java中,第二个活动在Koltin中。这两个类(在这种情况下为活动)都编译到同一应用程序中-您有2个具有相同名称的符号。

是的,编译器完成后,Koltin和Java看起来相同:)

答案 2 :(得分:0)

问题是6个月前的,但我为其他人将来遇到此问题写了答案。我曾遇到此错误的挑战,我检查了其他人建议的所有可能方法,最后不得不删除

中的构建文件夹

projectFolder /

projectFolder / app /

手动然后再次重建项目。

答案 3 :(得分:0)

就我而言,我在调试模式下运行应用程序,并生成了一个用于调试的方向类。然后我尝试在发布模式下生成一个签名的 APK。然后在相同的包中为发布模式生成了一个类似的类,这导致了问题。我手动删除了Java文件夹(根)中的调试文件夹,构建成功。

enter image description here