【问题标题】:How to set focus to a button widget programmatically?如何以编程方式将焦点设置到按钮小部件?
【发布时间】:2011-03-15 03:48:24
【问题描述】:

是否可以将焦点设置到位于我的布局中某处的按钮小部件? onCreate 的活动我的控制/焦点应该以编程方式位于该按钮上。

【问题讨论】:

    标签: android android-widget android-button


    【解决方案1】:

    是的,这是可能的。

    Button myBtn = (Button)findViewById(R.id.myButtonId);
    myBtn.requestFocus();
    

    或在 XML 中

    <Button ...><requestFocus /></Button>
    

    重要提示:按钮小部件必须是focusable focusableInTouchMode。大多数小部件默认为focusable,但不是focusableInTouchMode。所以请确保在代码中设置它

    myBtn.setFocusableInTouchMode(true);
    

    或在 XML 中

    android:focusableInTouchMode="true"
    

    【讨论】:

    • 我在 onCreate 方法中尝试了它,但它不起作用。我正在动态创建按钮并在 LinearLayout 中添加按钮。谁能帮帮我?
    • 它对我不起作用。我的页面中有一个始终获得焦点的 EditView。
    • android:focusableInTouchMode="true" 需要点击两次按钮,第一次点击设置焦点,第二次点击做出动作。这不适合普通流程。
    【解决方案2】:

    试试这个:

    btn.requestFocusFromTouch();
    

    【讨论】:

      猜你喜欢
      • 2019-05-04
      • 2014-03-06
      • 1970-01-01
      • 2023-03-02
      • 2015-01-09
      • 2020-02-15
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多