я должен создать контекстное меню после долгого нажатия на элемент ListActivity. Вот мой код:
public class DynamicResult extends ListActivity {
ArrayList<String> myArr = new ArrayList<>();
ArrayAdapter<String> monthAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myArr.add("....");
myArr.add("....");
myArr.add("....");
monthAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myArr);
setListAdapter(monthAdapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
l.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long id) {
// HERE
return true;
}
});
}
}
Я прочитал некоторую информацию и создал это:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.edit:
editItem(info.position);
return true;
case R.id.delete:
deleteItem(info.position);
return true;
default:
return super.onContextItemSelected(item);
}
}
private void editItem(int position) {
}
private void deleteItem(int position) {
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
l.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int pos, long id) {
////////////////////////////////////////////////////////////////////////////////////////////////
// How from onItemLongClick turn to onCreateContextMenu so that I have a menu?
//And what to register in registerForContextMenu ();
////////////////////////////////////////////////////////////////////////////////////////////////
}
});
Как и планировалось, я делаю длинный щелчок по элементу списка и открывается контекстное меню Как из onItemLongClick включить OnCreateContextMenu, чтобы у меня было меню? А что прописать в registerForContextMenu ();