Java 重写不在非活动类中工作

Java 重写不在非活动类中工作,java,android,class,android-activity,overriding,Java,Android,Class,Android Activity,Overriding,我不知道为什么会显示remove@Override annotation fromonCreateContextMenu? 谁能告诉我为什么会这样 我已经检查过了,我的编译器设置为Java1.6。我的jre设置为1.6 contactPHP.java public class contactPHP extends AsyncTask<Object, Object, JSONArray>{ final contactActivity main;

我不知道为什么会显示remove@Override annotation from
onCreateContextMenu
? 谁能告诉我为什么会这样

我已经检查过了,我的编译器设置为Java1.6。我的jre设置为1.6

contactPHP.java

    public class contactPHP extends AsyncTask<Object, Object, JSONArray>{
        final contactActivity main;
        private ListView listView;
        public contactPHP(contactActivity indv) {
            this.main = indv;
        }
    @Override
    protected void onPreExecute() {
         super.onPreExecute();  

            listView = (ListView)main.findViewById(R.id.listnum);
            adapter = new contactAdapter(main, imlist);
            listView.setAdapter(adapter);       
}
@Override      
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
           main.onCreateContextMenu(menu, v, menuInfo);  

        CNList obj = (CNList)v.getTag(); 
        int subs = obj.getsubstance();    

        menu.setHeaderTitle(obj.getname());  
        menu.add(0, v.getId(), 0, "Add");  
        menu.add(0, v.getId(), 0, "Remove");  
    }
    }
public class contactActivity extends Activity{



   @Override
   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.contact);
       getLayoutInflater().inflate(R.layout.contact, null);
       Intent intent = getIntent();
       new contactPHP(contactActivity.this).execute();
       //getNumber(contactActivity.this.getContentResolver()); 
   }



}
更新1 在“活动”中添加了
onCreateContextMenu
,并将
onPostExecute()
返回到“活动”,但出现错误

contactPHP.java已编辑

contactActivity.java已编辑

LogCAT

03-04 16:36:48.883: E/AndroidRuntime(5018): FATAL EXCEPTION: main
03-04 16:36:48.883: E/AndroidRuntime(5018): Process: com.example.soc, PID: 5018
03-04 16:36:48.883: E/AndroidRuntime(5018): java.lang.StackOverflowError
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)

这意味着这一行
this.onCreateContextMenu(menu,v,menuInfo)

这是因为
onCreateContextMenu
不是
异步任务的方法,因此不能重写它。进入你的
活动
课程。另外,请尊重java命名约定。类名总是以大写字母开头。

这是因为
onCreateContextMenu
不是
异步任务的方法,因此不能重写它。进入你的
活动
课程。另外,请尊重java命名约定。类名总是以大写字母开头。

尝试正确地重新缩进代码,它可能会显示问题所在。例如,最后两个
}
是可疑的。其缩进精细@min尝试正确地重新缩进代码,它可能会向您显示问题。例如,最后两个
}
是可疑的@mins@SlimShady你为什么不能?你的更新没有提到为什么?将您需要的值从
onPostExecute()
返回到您的
活动
,并在那里使用它们。是的,我正在
onPostExecute()
中完成我的工作。。。。如何将我的
onPostExecute()
数据返回到我的
contactActivity.java
@codeMagic@SlimShady,一个示例使用super更改此选项。必须使用super调用super类change
this.onCreateContextMenu(menu,v,menuInfo)super.onCreateContextMenu(menu,v,menuInfo)的code>,您还可以省略超级调用,因为超级实现是empty@SlimShady你为什么不能?你的更新没有提到为什么?将您需要的值从
onPostExecute()
返回到您的
活动
,并在那里使用它们。是的,我正在
onPostExecute()
中完成我的工作。。。。如何将我的
onPostExecute()
数据返回到我的
contactActivity.java
@codeMagic@SlimShady,一个示例使用super更改此选项。必须使用super调用super类change
this.onCreateContextMenu(menu,v,menuInfo)super.onCreateContextMenu(menu,v,menuInfo)的code>,并且您还可以省略超级调用,因为超级实现是空的
  public void contactPhpResponse(ListView listView,JSONArray json){
      this.registerForContextMenu(listView);
     //some codes
  }
  @Override
   public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
       this.onCreateContextMenu(menu, v, menuInfo);  

    CNList obj = (CNList)v.getTag(); 
    int subs = obj.getsubstance();    

    menu.setHeaderTitle(obj.getname());  
        menu.add(0, v.getId(), 0, "Add");  
        menu.add(0, v.getId(), 0, "Remove");  
}
03-04 16:36:48.883: E/AndroidRuntime(5018): FATAL EXCEPTION: main
03-04 16:36:48.883: E/AndroidRuntime(5018): Process: com.example.soc, PID: 5018
03-04 16:36:48.883: E/AndroidRuntime(5018): java.lang.StackOverflowError
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)
03-04 16:36:48.883: E/AndroidRuntime(5018):     at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:92)