0

私はJavaandroidプログラミングにまったく慣れておらず、答えるのは非常に簡単かもしれない問題がありますが、eclipseコンパイルエラーメッセージが何を意味するのか理解できません。

以下のonContextItemSelectedコードでブロックコメントを削除した場合を除いて、クラスは正常に実行され、次のコンパイルエラーが発生します。

タイプnewView.OnCreateContextMenuListener(){}のメソッドonContextItemSelected(MenuItem)は、スーパータイプメソッドをオーバーライドまたは実装する必要があります

私は何を間違っているのですか、それともここで欠けていますか?ありがとう。

コード

public class ListTest<registerForContextMenu> extends ListActivity  
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values));
        listView = getListView();

        // I populate the list view here

        listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

            @Override
            public void onCreateContextMenu(android.view.ContextMenu menu, View v, android.view.ContextMenu.ContextMenuInfo menuInfo) {
                menu.setHeaderIcon(R.drawable.ic_launcher);
                menu.setHeaderTitle(R.string.context_menu_options);
                menu.add(0, 0, 0, R.string.context_menu_reply);
                menu.add(0, 0, 0, R.string.context_menu_delete);
                menu.add(0, 0, 0, R.string.context_menu_cancel);
            };

            /*
            @Override
            public boolean onContextItemSelected(MenuItem item) {
                AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
                int index = info.position;
                return true;
            };
            */                      
       });
    }
}
4

1 に答える 1

1

ドキュメントによると、はのonContextItemSelected方法ではありませんOnCreateContextMenuListener。つまり、オーバーライドすることはできません。

onContextItemSelectedのメソッドですActivity。で上書きしますActivity

于 2012-11-27T08:26:30.157 に答える