내 앱에 다음 코드가 있습니다. 내보기에는 정상적으로 작동하는 로그인 버튼이 있습니다. 나는 내 view의 옵션 메뉴를 오버라이드했고 optionsmenu에 첨부 된 리스너 안에 로그인 코드를 두었다. 옵션 메뉴 로그인 버튼을 누르면 첫 번째 클릭에서 아무런 변화가 없지만 이후의 클릭에는 모두 정상적으로 작동합니다. 왜 이런거야?Android 옵션 메뉴 버튼은 두 번째 클릭 후에 만 작동합니다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.menuentryoptionsmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.login:
item.setOnMenuItemClickListener(new OnMenuItemClickListener(){
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
Log.e(TAG, "login clicked from opts menu");
compId = "100";
String theUsername = userName.getText().toString();
thePassword = passwordPin.getText().toString();
String loginType = "1";
String[] params = new String[]{compId, theUsername, thePassword, loginType};
//validate user Asynchonously on background thread
AsyncValidateCarer avc = new AsyncValidateCarer();
avc.execute(params);
return true;
}});
return true;
case R.id.changeuser:
if(isAllowChangeUser.equalsIgnoreCase("false")){
item.setVisible(false);
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
감사합니다. – turtleboy