Java 重写不在非活动类中工作
我不知道为什么会显示remove@Override annotation fromJava 重写不在非活动类中工作,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;
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类changethis.onCreateContextMenu(menu,v,menuInfo)带有super.onCreateContextMenu(menu,v,menuInfo)的code>代码>,您还可以省略超级调用,因为超级实现是empty@SlimShady你为什么不能?你的更新没有提到为什么?将您需要的值从onPostExecute()
返回到您的活动
,并在那里使用它们。是的,我正在onPostExecute()
中完成我的工作。。。。如何将我的onPostExecute()
数据返回到我的contactActivity.java
@codeMagic@SlimShady,一个示例使用super更改此选项。必须使用super调用super类changethis.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)