android:如何设置当我的 ViewFlipper 显示新子项时触发的监听器

标签 android layout view listener viewflipper

我有一个 ViewFlipper,我希望在显示的子项发生更改时触发监听器。我已经为 ViewFlipper 设置了一个 OnFocusChangeListener,但当我从子 0 翻转到子 1 时,它永远不会触发,反之亦然。 ViewFlipper 包含两个relativelayout,我尝试为它们设置 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 显示新子项时触发的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2672231/

相关文章:

android - 从短信/电子邮件链接打开应用程序

ruby-on-rails - articles_path 是如何工作的? (RubyOnRails 教程)

model-view-controller - 模型如何更新 MVC 模式中的 View ?

asp.net-mvc - ASP.NET View 中的区域?

android - 如何让Android的RelativeLayout正常工作?

java - 即使在新生成的 Activity 中,按钮也不起作用

android - 布局与Android中的变量或导入冲突?

android - 获取 android.content.res.Resources$NotFoundException : exception even when the resource is present in android

layout - JavaFX 2 中的 GroupBox/TitledBorder?

android - 从 recyclerview 获取详细信息并使用 cardview 和 retrofit 2 网络库在另一个 fragment 中显示结果