저는 Android에 상당히 익숙합니다. 내 문제가 근본적인 것 같아서 미안 해요. 지난 밤에 그것을 보면서 나는 해결책을 찾지 못했다. (나는 내가 달성하려고 노력하는 것에 근본적인 결함이있을 수 있다고 생각하게 만든다.)onOptionsItemSelected에 변수 전달하기
기본적으로 나는 onOptionsItemSelected 내부에서 메소드를 호출하려고합니다.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.new_game:
newGame();
return true;
case R.id.help:
showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
하지만, 내 응용 프로그램에서, 내가 입력을 요구하는 onOptionsItemSelected 호출 방법이 있습니다 안드로이드 개발자 문서 (http://developer.android.com/guide/topics/ui/menus.html) 그들은이 예제를 제공합니다. 나는이 작업을 수행 할 때
@Override
public boolean onOptionsItemSelected(MenuItem item, int myint) {
// Handle item selection
switch (item.getItemId()) {
case R.id.new_game:
newGame(myint);
return true;
case R.id.help:
showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
가, 이클립스가 함께 제공 : 나는 안드로이드 개발자 웹 사이트에서 사용하고 예제의 맥락에서 이것은 newGame 방법으로 정수 "민트"를 통과하고 싶은 나에게 동일시 것 행 "public boolean onOptionsItemSelected (MenuItem item) {" "@Override"명령을 제거해야한다는 오류입니다.
사람들이 onOptionsItemSelected (또는 onConfigurationChanged와 같은 메서드)를 통해 변수를 전달하는 예제를 인터넷에서 찾을 수 없었습니다. 따라서이 방법의 근본적인 오해가있을 수 있습니다. 불행히도, 나는이 문제를 올바르게 다루기 시작 해야할지 잘 모르겠습니다. 현재 "public static"변수를 사용하고 있기 때문에 내 메서드 (이 예제에서는 newGame)를 사용하여 액세스 할 수 있지만 이러한 변수 유형을 사용하는 것이 일반적으로 싫은 것처럼 보입니다.
누군가가 나를 도울 수 있거나 심지어 내가 검색/읽을 필요가있는 방향으로 나를 지적하면 매우 감사 할 것입니다.
감사
스티븐
이 코드는 메뉴에 대한 코드입니까? 너 게임하니? –
이것은 Android 개발자 웹 사이트에서 취한 예입니다. 내 실제 응용 프로그램은 vocab 테스트 응용 프로그램입니다. 내가 오류가 없다는 것을 알고있는 구글의 혼란없는 코드를 사용하는 것이 더 쉬워 보였다! – Stephen