2012-01-30 1 views
0

내 안드로이드 응용 프로그램에 컨텍스트 메뉴를 구현하는 데 어려움이 있습니다. 내가 외부 onCreateContextMenu을 넣어이 문제를 해결onContextItemSelected 오류

무효가

인, onCreateContextMenu 변수에 대한 잘못된 유형입니다 : 내 첫 번째 문제는 내가 한 OnCreate의 내부 인, onCreateContextMenu을 구현하기 위해 노력 하였다 그러나 나는 말하는 오류가 계속 OnCreate. 이제 내 문제는 OnContextItemSelected입니다. 내 오류는 회선에서 발생합니다 : public boolean onContextItemSelected(MenuItem menu). 오류는 다음과 같습니다

  • 구문 오류, MethodBody 여기

을 완료하기 위해 "}"를 삽입 android.view.View.OnLongClickListener.onLongClick을 구현하는 코드는 다음과 같습니다

BaconStripsButton.setOnLongClickListener(new View.OnLongClickListener() { 
      public boolean onLongClick(View v) { 
       // TODO Auto-generated method stub 
       boolean onContextItemSelected(MenuItem item) 
       { 
       if (item.itemId() = 0) 
       { 
        Toast ringtone = Toast.makeText(startingPoint.this, "Ringtone added Successfully!", Toast.LENGTH_SHORT); 
       return true; 
       } 
       return false; 
       } 
      } 
     }); 

도움을 주시면 감사하겠습니다. 감사, 저스틴

답변

1

button.Just의 onContextItemSelected 내부 onlongClick이 OnContextItemSelected()를 오버라이드 (override) 사용할 필요가 없습니다; btn.No에의 ContextMenu 및 등록 setOnlongClickListener해야합니다.

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
          ContextMenuInfo menuInfo) { 
super.onCreateContextMenu(menu, v, menuInfo); 
MenuInflater inflater = getMenuInflater(); 
inflater.inflate(R.menu.context_menu, menu); 
} 

을 다음

,369를 오버라이드 (override)
@Override 

public boolean onContextItemSelected(MenuItem item) { 
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 
switch (item.getItemId()) { 
case R.id.edit: 
editNote(info.id); 
return true; 
case R.id.delete: 
deleteNote(info.id); 
return true; 
default: 
return super.onContextItemSelected(item); 
} 

} 마지막으로 registerContextMenu (button);

+0

문제를 해결 했습니까? – Sameer

+0

도움에 감사드립니다. 한 가지 다른 질문 : 사운드 보드 응용 프로그램을 만들고 있는데 어떻게 'onContextItemSelected'내의 각 단추를 처리하는지 궁금합니다. 어떤 버튼을 길게 누르면 어떤 mp3가 벨소리로 추가 될지 결정됩니다. –

+0

이 항목의 id를 사용하여 컨텍스트 메뉴의 항목을 선택하는 방법으로이 항목의 ID를 사용하여 수행 할 수 있습니다. – Sameer

1

ListView를 사용하여 Activity의 OnCreate에서 onCreateContextMenu를 구현할 수 있습니다. 이 같은

:

myList.setOnCreateContextMenuListener (새 OnCreateContextMenuListener() {

 @Override 
     public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) { 
      // add some sublist 
      menu.setHeaderTitle(R.string.collect_title); 
      menu.add(0, 1, 0, R.string.delete_string); 
      menu.add(0, 2, 0, R.string.move_to_project_string); 
      menu.add(0, 3, 0, R.string.move_to_action_string); 
     } 
    }); 
+0

도움을 주셔서 감사합니다. –