Android动画无法点击

时间:2016-02-16 16:57:11

标签: java android animation

我的动画我正在点击工作,这是我的代码:

编辑现在可以点击该按钮,但点击

时没有任何反应

animation:bottom_up.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="75%p" android:toYDelta="0%p"
    android:fillAfter="true"
    android:duration="500"/>

这是我的java MusicPlayerActivity.java:

    btnPlayList.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Animation bottomUp = AnimationUtils.loadAnimation(MusicPlayerActivity.this, R.anim.bottom_up);
            ViewGroup hiddenPanel = (ViewGroup) v.findViewById(R.id.hidden_panel);
            hiddenPanel.startAnimation(bottomUp);
            hiddenPanel.setVisibility(View.VISIBLE);

        }
    });
} 

谢谢!

3 个答案:

答案 0 :(得分:0)

检查你是否已初始化btnPlayList 像这样btnPlayList =(Button)findViewById(R.id.btnPlayList);

或hiddenPanel在您单击的此视图中不存在;

答案 1 :(得分:0)

您获得的错误非常常见。它被称为NullPointerException,因为您尝试调用其引用为null的对象的方法,因此系统无法解析该方法。您可以在此link中阅读有关此例外的更多信息。

可能导致此异常的行是:

ViewGroup hiddenPanel = (ViewGroup) v.findViewById(R.id.hidden_panel);

为了解决这个问题,我建议两件事:

  • 检查ID R.id.hidden_panel是否正确。
  • 如果您正在考虑R.id.hidden_panel可能不在您的布局中,请使用空检查包装其用法:

    if (hiddenPanel != null) {
        hiddenPanel.startAnimation(bottomUp);
        hiddenPanel.setVisibility(View.VISIBLE);
    }
    

修改

要修复未显示的动画,请在将hiddenPanel设置为Visible之后尝试调用startAnimation,而不是之前。

答案 2 :(得分:-1)

java.lang.NullPointerException - &gt;一些变量未初始化。 检查所有变量