実際のデバイス (Android 2.2 を搭載した HTC Desire Z) でアプリをテストしようとしました。そして、コンテキスト メニューが s でまったく機能しないことがわかりましたEditText
。それ以外の場合は、コンテキスト メニューが機能します: inListView
など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 の特性に関連していますか?