Java oncreatecontextmenu给出空指针错误

Java oncreatecontextmenu给出空指针错误,java,android,android-activity,nullpointerexception,android-arrayadapter,Java,Android,Android Activity,Nullpointerexception,Android Arrayadapter,我想做的是- 使用asynctask向php发送请求 从php接收数据并发送回活动 使用json数据使用适配器填充listview 单击列表视图时项将显示上下文菜单 但是我得到了以下错误!请帮忙 contactActivity.java public class contactActivity extends Activity{ private List<CNList> imlist = new ArrayList<CNList>(); privat

我想做的是-

  • 使用asynctask向php发送请求

  • php
    接收数据并发送回活动

  • 使用
    json
    数据使用适配器填充
    listview
  • 单击
    列表视图时
    项将显示
    上下文菜单
但是我得到了以下错误!请帮忙

contactActivity.java

public class contactActivity extends Activity{

    private List<CNList> imlist = new ArrayList<CNList>();
    private ListView listView;
    private contactAdapter adapter;

   @Override
   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.contact);
       getLayoutInflater().inflate(R.layout.contact, null);
       Intent intent = getIntent();

        listView = (ListView)findViewById(R.id.listnum);
        adapter = new contactAdapter(this, imlist);
        listView.setAdapter(adapter);       
        registerForContextMenu(listView);


       new contactPHP(this).execute();
   }
  public void contactPhpResponse(JSONArray json,ArrayList<String> numbersList,ArrayList<String> nameList,ArrayList<Uri> imageList){

        for (int i = 0; i < json.length(); i++) { 
              //some jobs
        }
        adapter.notifyDataSetChanged();         
   } 
      @Override
       public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
        super.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, "Block");  
    } 
}
LOGCAT

03-04 17:15:40.043: E/AndroidRuntime(10010): FATAL EXCEPTION: main
03-04 17:15:40.043: E/AndroidRuntime(10010): Process: com.example.soc, PID: 10010
03-04 17:15:40.043: E/AndroidRuntime(10010): java.lang.StackOverflowError
03-04 17:15:40.043: E/AndroidRuntime(10010):    at 
03-04 17:24:18.193: E/AndroidRuntime(10798): FATAL EXCEPTION: main
03-04 17:24:18.193: E/AndroidRuntime(10798): Process: com.example.soc, PID: 10798
03-04 17:24:18.193: E/AndroidRuntime(10798): java.lang.NullPointerException
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:98)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.View.createContextMenu(View.java:8356)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.view.menu.ContextMenuBuilder.show(ContextMenuBuilder.java:81)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.policy.impl.PhoneWindow$DecorView.showContextMenuForChild(PhoneWindow.java:2344)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.widget.AbsListView.performLongPress(AbsListView.java:2977)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:2921)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Handler.handleCallback(Handler.java:733)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Handler.dispatchMessage(Handler.java:95)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Looper.loop(Looper.java:136)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.app.ActivityThread.main(ActivityThread.java:5021)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at java.lang.reflect.Method.invokeNative(Native Method)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at java.lang.reflect.Method.invoke(Method.java:515)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at dalvik.system.NativeStart.main(Native Method)
在埃兰的修复之后 LOGCAT

03-04 17:15:40.043: E/AndroidRuntime(10010): FATAL EXCEPTION: main
03-04 17:15:40.043: E/AndroidRuntime(10010): Process: com.example.soc, PID: 10010
03-04 17:15:40.043: E/AndroidRuntime(10010): java.lang.StackOverflowError
03-04 17:15:40.043: E/AndroidRuntime(10010):    at 
03-04 17:24:18.193: E/AndroidRuntime(10798): FATAL EXCEPTION: main
03-04 17:24:18.193: E/AndroidRuntime(10798): Process: com.example.soc, PID: 10798
03-04 17:24:18.193: E/AndroidRuntime(10798): java.lang.NullPointerException
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.example.soc.contactActivity.onCreateContextMenu(contactActivity.java:98)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.View.createContextMenu(View.java:8356)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.view.menu.ContextMenuBuilder.show(ContextMenuBuilder.java:81)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.policy.impl.PhoneWindow$DecorView.showContextMenuForChild(PhoneWindow.java:2344)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.view.ViewGroup.showContextMenuForChild(ViewGroup.java:658)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.widget.AbsListView.performLongPress(AbsListView.java:2977)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.widget.AbsListView$CheckForLongPress.run(AbsListView.java:2921)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Handler.handleCallback(Handler.java:733)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Handler.dispatchMessage(Handler.java:95)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.os.Looper.loop(Looper.java:136)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at android.app.ActivityThread.main(ActivityThread.java:5021)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at java.lang.reflect.Method.invokeNative(Native Method)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at java.lang.reflect.Method.invoke(Method.java:515)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:827)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:643)
03-04 17:24:18.193: E/AndroidRuntime(10798):    at dalvik.system.NativeStart.main(Native Method)
cncontactphpresponse()中定义的循环的
内的列表和视图标记


使用此
registerForContextMenu(ListView)使用上下文菜单注册您的
ListView
我已经有@Devill!!在哪一行出现错误?
intsubs=obj.getsubstance()oncreatecontextmenu()
Method中的
contactActivity.java
中编码>@Devill检查我的答案。。。
@Override
public View getView(int position, View convertView, ViewGroup parent) {

    // getting data for the row
    CNList m = listItems.get(position);
    if (inflater == null)
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null){
        if(getItemViewType(position)==0){
            convertView = inflater.inflate(R.layout.notavl_cont, null);
        }else{
            convertView = inflater.inflate(R.layout.avl_cont, null);
        }
    }

    //if (imageLoader == null)
        //imageLoader = AppController.getInstance().getImageLoader();
    ImageView pp = (ImageView) convertView
            .findViewById(R.id.cn_pp);
    TextView nme = (TextView) convertView.findViewById(R.id.cn_name);
    TextView num = (TextView) convertView.findViewById(R.id.cn_num);

    // thumbnail image
    //pp.setImageUrl(m.getppUrl(), imageLoader);

    if(m.getavl() == 0){
        /*Bitmap result =  ImageHelper.getRoundedCornerBitmap(m.getppUrl(),80);
        pp.setImageBitmap(result);*/
        pp.setImageURI(m.getppURI());
    }else{
      new ImageLoadTask(m.getppUrl(), pp).execute();
    }

    // content
     nme.setText(m.getname());
     num.setText(m.getnumber());


    convertView.setTag(m);
    return convertView;
}