Android模拟按钮按下

时间:2010-06-25 15:33:51

标签: android mouseevent

我正在尝试在我的Android应用程序中执行事件鼠标按下。当用户在文本字段中输入文本时输入CARRIAGE RETURN。我希望在我的OnClickListener中为该EditText ui检测到该字符时,在ADD按钮上按下鼠标按钮。

1 个答案:

答案 0 :(得分:0)

彼得 -

听起来你想要做的是覆盖给定EditText的EditorAction,然后以编程方式执行与OnClickListener相同的操作。例如:

EditText inputText; //This is either created in code or inflated via XML
Button addButton;   //This is either created in code or inflated via XML

inputText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        addButton.performClick();
        //Tell the system you consumed the action event
        return true;
    }
});

actionId也可以是一个有用的属性,因为它会根据显示的软键盘方法报告特定的操作(DONE,NEXT等)...但请记住,如果用户按下硬键盘输入该操作始终为EditorInfo.IME_NULL,因此可能无法满足您监控此值的目的。

这是一种比重写KeyEvent侦听器更安全的方法,因为你冒着消耗你不想要的事件并且不知道你偷走的事件的风险较小。

希望有所帮助!