2011-02-24 4 views
0

표준 onCreateOptionsMenu를 정의했습니다. 내 EditText 상자가 비어 있으면 메뉴 버튼이 제대로 작동합니다. 그러나 EditText 상자에 데이터가 있으면 메뉴 단추가 작동하지 않습니다. 어떤 단서? 제발 도와 줘, 난 이걸 해결하는 방법을 모른다. 감사!Android : 텍스트를 사용할 때 깨진 메뉴 버튼

public class TipCalc extends Activity { 

private EditText total; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    total = (EditText)findViewById(R.id.EditText01); 
    total.setOnKeyListener(mKeyListener); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    return true; 
} 

private OnKeyListener mKeyListener = new OnKeyListener() { 
    @Override 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     if (event.getAction() == KeyEvent.ACTION_UP) { 
      if((v.getId() == R.id.EditText01 
        && (total.getText().toString().length() > 0) { 
       calculate(); 
       return true; 
      } 
     } 
     return false; 
    } 
} 
+0

같은 setOnClickListener 오히려

OnKeyListener 이상의 무언가를 창조니까. onKey는 부울 값을 반환해야하고 코드는 아무 것도 반환하지 않습니다. 다른 사람이 무엇이 잘못되었는지 보려면 실제 코드를 게시해야합니다. –

+0

고마워, 내가 바꿨어. 미안하지만 내 전체 코드를 게시하고 싶지 않습니다. 그러나 이것은 기본적으로 그것입니다. 모든 논리는 동일합니다. – nubme

+0

감사합니다. Ted. 나는 당신의 의견 때문에 그것을 알아 냈다. 기본적으로 나는 onKey 루프를 입력하고 매번 true를 반환 했으므로 루프의 메뉴 버튼을 잡는 중이었습니다. 이 주제를 어떻게 닫을 수 있습니까? – nubme

답변

2

는 그게 올바른 것 알고 있지만 mKeyListener을 위해 게시 된 코드는 컴파일되지 않습니다이

TextView total = (TextView) findViewById(R.id.EditText01); 
    total.setOnClickListener(new OnClickListener() 
    {    
     @Override 
     public void onClick(View v) 
     { 
      //do some stuff 
     } 
    }); 
관련 문제