为什么TextView的文本没有改变?

时间:2012-07-11 13:46:04

标签: android onkeydown

首先,我要说我已经花了两周的时间研究这个,但没有找到答案......

我有一个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;

}

1 个答案:

答案 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 */
}

希望这有用。