首先,我要说我已经花了两周的时间研究这个,但没有找到答案......
我有一个TextView,所以我想要做的是用任何硬件按键的键码更改其文本(是的,我知道一些按键不能使用)...问题是文本doest想要改变......任何人都请帮我解决这个问题。
非常感谢!!!
代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnKeyListener;
import android.widget.TextView;
public class keycodelistener extends Activity {
private TextView txtcode;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.keycodedialog);
txtcode = (TextView)findViewById(R.id.keypresstext);
}
public boolean onKeyDown(View v, int keyCode, KeyEvent event) {
txtcode.setText(String.valueOf(keyCode));
return super.onKeyDown(keyCode, event);
}
}
最后,感谢@CFlex !!!最后三行必须是:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
//Log.e("","yeeeahhhh");
txtcode.setText(String.valueOf(keyCode));
return true;
}
答案 0 :(得分:8)
您需要覆盖onKeyDown(keyCode, event)
,因为onKeyDown(View v, int keyCode, KeyEvent event)
不存在。文件here
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
/* do what you want */
}
希望这有用。