이 질문은 이전에 물 었음을 알고 회신은 onPrepareContextMenu()/onCreateContextMenu()를 재정의하는 것이 었습니다. 그러나 나는 didnt한다 그것을 위해 어떤 해결책이라도 이해하고 didnt한다. 특정 ListView 항목의 컨텍스트 메뉴를 비활성화하는 방법을 알려주십시오.안드로이드에서 특정 ListView 항목에 대한 컨텍스트 메뉴를 비활성화하는 방법
답변
컨텍스트 메뉴 열기는 일부 논리에 따라 다릅니다. 예를 들어, onItemClick (listView에서) 메서드에서 항목의 내용을 확인하고 컨텍스트 메뉴를 표시하거나 표시하지 않으면 안됩니다. 이해가 안 돼 왜 너에게 문제가되는거야?
UPDATE
public class ExampleActivity extends ListActivity {
private ListView mListView;
private ArrayList<String> mList = new ArrayList<String>();
private ArrayAdapter<String> mArrayAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mArrayAdapter = new ArrayAdapter<String>(this, android.R.id.list ,mList);
mListView = (ListView) findViewById(android.R.id.list);
setListAdapter(mArrayAdapter);
registerForContextMenu(mListView);
mListView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView , View v,int position, long id) {
mListView.getItemAtPosition(position); //check current item with your logic and show or don't show contextMenu
// for example I will show
mListView.showContextMenu(); //to show
return true;
}
});
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// add contextmenu items
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// todo some logic...
return super.onContextItemSelected(item);
}
}
또한 당신이 당신의 목록보기를 다시 등록 할 수 있습니다onCreate()에서 registerForContextMenu (listview)로 listview를 등록하려고합니다. onListItemClick (ListView l, View v, int 위치, long id)에서 특정 목록 항목에 대해 사용/사용 안함을 설정해야합니다. ListView에서 첫 번째 항목을 가져 간다고 가정합니다. 어떻게 내가이 - listview.getItemAtPosition (0) 뒤에 코드를 사용/사용 안하기로되어 있습니다. ? showContextMenu() 메서드를 호출하면 –
컨텍스트 메뉴가 표시됩니다. 항목을 검사하고 contextMenu를 표시해야하는 경우 showContextMenu()를 호출하고 다른 방법으로 호출하지 않습니다. 문제가 무엇입니까? –
onListItemClick (ListView l, View v, int position, long id) 메서드에는 "int position"매개 변수가 있습니다. 현재 클릭 한 항목의 위치입니다. 당신은 getItemAtPosition (int 위치)로 항목을 체크하고 뭔가를합니다 ... –
에 onCreateContextMenu
방법을 일으킬 것이다 ... 그것은 ... 행운을 당신을 도울 것입니다 수 있음 다시 실행
ListView lv = (ListView) findViewById(R.id.lvExample);
registerForContextMenu(lv);
그런 다음 wh를 사용하여 메뉴 항목을 숨기거나 표시 할 수 있습니다. 어느 논리도 onCreateContextMenu
메서드
나는 이것을 삽니다. 나는'OnItemLongClickListener'를 망쳐 놓는 것이 좋은 생각이라고 생각하지 않는다. – Yeung
- 1. Qt에서 QScrollbar 컨텍스트 메뉴를 비활성화하는 방법
- 2. WPF XAML 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 3. 안드로이드에서 GridLayout과 컨텍스트 메뉴를 표시하는 방법
- 4. Prototype을 사용하여 mozilla의 특정 요소에 대한 기본 컨텍스트 메뉴를 비활성화하는 방법?
- 5. qooxdoo에서 브라우저 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 6. WebView의 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 7. 옵션 메뉴 항목에 대한 컨텍스트 메뉴를 등록하는 android
- 8. 컨텍스트 메뉴를 초기화하는 방법?
- 9. 목록 항목에 컨텍스트 메뉴를 열려면 팝업 창에서 목록보기가 열리면 클릭하십시오.
- 10. 안드로이드에서 메뉴를 만드는 방법
- 11. ListView에 컨텍스트 메뉴를 구현 하시겠습니까?
- 12. WPF 컨텍스트 메뉴와 ListView
- 13. Ext.menu.Menu의 항목에서 브라우저 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 14. 컨텍스트 메뉴 스트립의 특정 메뉴 항목에 하위 메뉴 추가
- 15. 컨텍스트 메뉴 항목에 배경을 부여하는 방법
- 16. ListView 안쪽에서보기 항목에 액세스하는 방법?
- 17. ASP.NET ListView : 각 N 개의 항목을 "특정"항목에 삽입하는 방법?
- 18. 안드로이드에서 특정 속도 (가속도계)에 SMS를 비활성화하는 방법
- 19. SWT에서 시스템 트레이 아이콘의 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 20. Wpf에서 Acrobat Reader 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 21. Telerik FileExplorer의 그리드를 제외한 컨텍스트 메뉴를 비활성화하는 방법은 무엇입니까?
- 22. 특정 모듈에 대한 오류 컨트롤러를 비활성화하는 방법
- 23. Silverlight 트리 항목에 컨텍스트 메뉴를 추가하는 방법은 무엇입니까?
- 24. 안드로이드에서 글로벌 메뉴를 사용하는 방법?
- 25. android listview 컨텍스트 메뉴
- 26. ListView 항목에 대한 표준 "설정"레이아웃이 있습니까? (+)
- 27. 동적으로 생성 된 컨텍스트 메뉴를 만드는 방법
- 28. 안드로이드에서 ListView 필터를 만드는 방법
- 29. 안드로이드에서 ListView 항목을 클릭하는 방법
- 30. 키보드를 통해 ListView 탐색을 비활성화하는 방법
에서 onPrepareContextMenu()를 재정 의하여 현재 선택 목록 위치에 대한 확인을 수행하면 부울 플래그가있어 menu = win에서 모든 항목을 제거합니다. – Blundell
당신은 이것에 대해보다 구체적으로 설명 할 수 있습니다. 명확하게 이해하기 위해서는 샘플 코드가 필요합니다. 특정 목록 항목에 대한 메뉴에서 모든 항목을 제거하는 방법을 알아낼 수 없습니다. –