【发布时间】:2011-02-24 06:38:21
【问题描述】:
我已经定义了一个标准的 onCreateOptionsMenu。当我的 EditText 框为空时,菜单按钮可以正常工作。但是当 EditText 框中有数据时,菜单按钮不起作用。有什么线索吗?请帮忙,我不知道如何解决这个问题。谢谢!
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;
}
}
【问题讨论】:
-
您为 mKeyListener 发布的代码无法编译。
onKey需要返回一个布尔值,而您的代码没有返回任何内容。您需要发布实际代码以供任何人查看它有什么问题。 -
谢谢,我改了。抱歉,我不想发布我的完整代码。但这基本上就是这样。所有的逻辑都一样。
-
非常感谢特德。因为你的评论,我才知道。基本上我正在进入 onKey 循环并每次都返回 true,因此它正在捕获循环中的菜单按钮。我如何关闭这个话题?
标签: java android button menu android-activity