2014-04-28 5 views
4

다음 코드를 사용하여 목록보기의 컨텍스트 메뉴를 설정했습니다. 이제 해당 컨텍스트 메뉴에 대한 onContextItemClickListener를 만들고 싶습니다. Listview.setOnContextItemClickListener와 같은 메소드가 없습니다. 친절하게 도와주세요.ListView의 컨텍스트 메뉴에 onContextItemClickListener를 설정하는 방법은 무엇입니까?

ListView listView = new ListView(getApplicationContext()); 

      @SuppressWarnings("unchecked") 
      ArrayAdapter listViewArrayAdapter =  new ArrayAdapter(getApplicationContext(), 
        android.R.layout.simple_list_item_1, locations); 
      listView.setAdapter(listViewArrayAdapter); 
      listView.setFocusableInTouchMode(true); 
      listView.setOnFocusChangeListener(
       new View.OnFocusChangeListener() { 
       @Override 
       public void onFocusChange(View arg0, boolean arg1) { 
       Log.i("SampleApp", "onFocusChanged() - view=" + arg0); 
       } 
      }); 
      listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView adapterView, View view, 
        int arg2, long arg3) { 
       int selectedPosition = adapterView.getSelectedItemPosition(); 
       Log.i("SampleApp", "Click on position"+selectedPosition); 
       } 
      }); 
      listView.setOnCreateContextMenuListener(
        new View.OnCreateContextMenuListener() { 

        public void onCreateContextMenu(ContextMenu menu, View view, 
         ContextMenu.ContextMenuInfo menuInfo) { 
        AdapterContextMenuInfo mi = (AdapterContextMenuInfo) menuInfo; 
        menu.add(0, 0, 0, "Delete"); 




        } 



      }); 

답변

1

당신은 추가해야합니다 :

// we register for the contextmneu   
registerForContextMenu(lv); 

후와 (즉, 정맥 주사리스트 뷰의 인스턴스) 상황에 맞는 메뉴에 등록 :

// This method is called when user selects an Item in the Context menu 
@Override 
    public boolean onContextItemSelected(MenuItem item) { 
     int itemId = item.getItemId(); 
     // do your logic here 
     return true; 
    } 

희망이 당신이 찾고있는 무엇인가 . 추신 : 관심이 있다면 그것에 대해 게시물을 썼습니다. here

관련 문제