Вы читали вопрос?
о что попробовал протестировать мое приложение на реальном устройстве (HTC Desire Z с Android 2.2). И обнаружил, что мои контекстные меню вообще не работают наEditText
s. В противном случае контекстные меню работают: вListView
, ImageView
и так далее. На эмуляторе все работает нормально ...
Когда я нажимаю на EditText, он показывает что-то вроде рамки увеличения, а затем показывает необычное (не похожее на Android) контекстное меню, которое гласит: «выбрать текст», «выбрать все». Это не показывает мои меню. Вот скриншоты:
Перед нажатиемВо время кранаПосле нажатия (просто обычный, выделите текст, выделите все, вставьте)но нет моего меню, как в эмуляторе -Смотри сюда
Вот исходный код моей деятельности:
public class MyActivity extends Activity
{
private static final String TAG=MyActivity.class.getName();
EditText editText;
/**
* Called when the activity is first created.
*/
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editText=(EditText )findViewById(R.id.editText);
this.registerForContextMenu(editText);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo)
{
Log.v(TAG, "Creating context menu for view="+view);
menu.add(Menu.NONE, Menu.FIRST+1, Menu.NONE, "Test menu");
super.onCreateContextMenu(menu, view, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
Log.v(TAG, "Context item selected as="+item.toString());
return super.onContextItemSelected(item);
}
}
Я полностью отладил / зарегистрировал все вокруг моего кода, но все равно Activity.onCreateContextMenu () даже не вызывался (хотя он зарегистрирован надлежащим образом).
Пожалуйста, помогите - что это может быть? Связано ли это с особенностями HTC?