เมื่อใดก็ตามที่ฉันต้องนำเข้าโครงการของฉันอีกครั้งใน Eclipse (ถ้าฉันติดตั้ง Eclipse อีกครั้งหรือเปลี่ยนตำแหน่งของโครงการ) วิธีการที่แทนที่ของฉันเกือบทั้งหมดจะไม่ได้รับการจัดรูปแบบอย่างถูกต้องทำให้เกิดข้อผิดพลาด:
วิธีการนั้นจะต้องแทนที่วิธี superclass
มันอาจเป็นเรื่องสำคัญที่จะกล่าวถึงสิ่งนี้กับโครงการ Android ไม่ว่าด้วยเหตุผลใดก็ตามค่าอาร์กิวเมนต์ของวิธีการนั้นไม่ได้บรรจุอยู่เสมอดังนั้นฉันจึงต้องใส่ค่าด้วยตนเอง ตัวอย่างเช่น
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//These arguments have their correct names
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
}
});
จะมีประชากรเริ่มต้นเช่นนี้:
list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
//This methods arguments were not automatically provided
public void onCreateContextMenu(ContextMenu arg1, View arg2,
ContextMenuInfo arg3) {
}
});
สิ่งที่แปลกคือถ้าฉันลบรหัสของฉันและให้ Eclipse สร้างวิธีขึ้นใหม่โดยอัตโนมัติมันใช้ชื่ออาร์กิวเมนต์แบบเดียวกับที่ฉันมีอยู่แล้วดังนั้นฉันจึงไม่ทราบว่าปัญหาอยู่ที่ใดจริง ๆ แล้วมันจะทำการจัดรูปแบบอัตโนมัติ ผม.
นี่เป็นความเจ็บปวดที่ต้องสร้างวิธีการแทนที่ทั้งหมดของฉันด้วยตนเอง หากใครสามารถอธิบายได้ว่าทำไมสิ่งนี้ถึงเกิดขึ้นหรือจะแก้ไขได้อย่างไร ฉันจะมีความสุขมาก.
อาจเป็นเพราะวิธีที่ฉันจัดรูปแบบวิธีซึ่งอยู่ภายในอาร์กิวเมนต์ของวิธีอื่นได้หรือไม่