I have a form. 7 EditText in vertical layout. On screen in one moment can see only 3 EditText (form is big so I need开发者_JAVA百科 to scroll up and down to fill all fields). In bottom - Button.
When I fill top EditText (or one of top, which is invisible when I scrolled down to button), and focus (cursor) in this EditText, when I scrolled down and try to click Button once - nothing happens. when I click again - happens button action.
When both EditText with focus and Button is visible - Button needs one clicks.
I think that in first case first click just takes focus. And second click is "real" click.
How I can fix it? I need only one click on Button.
The question is old and I don't know whether this will solve your problem, since your pastebin link doesn't work anymore, but since I stumbled upon your post with the same problem and I found a solution I will post it anyway:
In my case the problem occured when I applied a custom style to a button following a tutorial:
<style name="ButtonStyle" parent="@android:style/Widget.Holo.Button">
    <item name="android:focusable">true</item>
    <item name="android:focusableInTouchMode">true</item>
    <item name="android:clickable">true</item>
    <item name="android:background">@drawable/custom_button</item>
    <item name="android:textColor">@color/somecolor</item>
    <item name="android:gravity">center</item>
</style>
The problem was the following line:
<item name="android:focusableInTouchMode">true</item>
Once I removed it the button worked as expected.
Hope this helps.
I used the following to solve a similar problem. It automatically clicks on the item again if the first click only gets focus:
input.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) {
                    v.performClick();
                }
            }
        });
I needed focusableInTouchMode to be true.
Similar to Maves answer. This did the trick for me:
<Button 
    style="@android:style/Widget.EditText"
    android:focusableInTouchMode="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>
Old question I know. Anyways I had the same problem and needed the button to be focusable. 
In the end I did use an OnTouchListener.
myButton.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        int action = motionEvent.getAction();
        if (action == MotionEvent.ACTION_DOWN) {
            // do your stuff on down here
        } else if (action == MotionEvent.ACTION_UP) {
            // do your stuff on up here
        }
        // if you return true then the event is not bubbled e.g. if you don't want the control to get focus or other handlers..
        return false;                 
    }
});
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论