gpt4 book ai didi

android:如何设置在我的 ViewFlipper 显示新 child 时触发的监听器

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:32 25 4
gpt4 key购买 nike

我有一个 ViewFlipper,我希望它的监听器在显示的子项发生更改时触发。我已经为 ViewFlipper 设置了一个 OnFocusChangeListener,但是当我从子 0 翻转到子 1 或反之时,它永远不会触发。 ViewFlipper 包含两个 RelativeLayouts,我尝试为它们设置 OnFocusChangeListeners,但是当我尝试设置它时出现 ClassCastException。这是我的代码:

RelativeLayout songsLayout = (RelativeLayout) findViewById(R.id.song_page_layout);
songsLayout.setOnFocusChangeListener(new OnFocusChangeListener() {
public void onFocusChange(View view, boolean hasFocus) {
showPopUp("View " + view.getId() + " now has focus: " + hasFocus);
}
} );

R.is.song_page_layout 是我的 RelativeLayouts 之一,而 showPopUp() 是我用来显示弹出窗口的函数。

有没有人有在 ViewFlipper 更改显示哪个子项时触发的某种触发器的工作代码?

最佳答案

我认为您不了解“专注”在 Android 上的含义;这是当用户选择该 View 时,例如,当他们通过按下它来选择一个 EditText 时,或者他们使用键盘选择一个按钮时。当 ViewFlipper 切换 View 时,它不会获得或失去焦点。

据我所知,您可以:

  1. 不要使用 ViewFlipper 的自动翻转,而是在需要翻转时手动调用 showNext()(然后在代码中自行设置间隔)。

  2. 子类化或重新实现 ViewFlipper 并根据您的喜好添加更改监听器。

关于android:如何设置在我的 ViewFlipper 显示新 child 时触发的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com