Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 翻转动画崩溃_Android_Android Fragments_Android Animation - Fatal编程技术网

Android 翻转动画崩溃

Android 翻转动画崩溃,android,android-fragments,android-animation,Android,Android Fragments,Android Animation,我正在尝试实现一张卡片在android碎片上翻转的动画。 这样,我可以有自己的自定义视图的正面和背面相同 我的问题是当卡片的背面显示时,这意味着翻转动画之前已经调用过一次。当点击按钮再次显示前端片段时,应用程序崩溃,出现以下错误 07-31 20:26:14.649: E/AndroidRuntime(28575): FATAL EXCEPTION: main 07-31 20:26:14.649: E/AndroidRuntime(28575): java.lang.NullPointerEx

我正在尝试实现一张卡片在android碎片上翻转的动画。 这样,我可以有自己的自定义视图的正面和背面相同

我的问题是当卡片的背面显示时,这意味着翻转动画之前已经调用过一次。当点击按钮再次显示前端片段时,应用程序崩溃,出现以下错误

07-31 20:26:14.649: E/AndroidRuntime(28575): FATAL EXCEPTION: main
07-31 20:26:14.649: E/AndroidRuntime(28575): java.lang.NullPointerException
07-31 20:26:14.649: E/AndroidRuntime(28575):    at com.Pivotl.PostcardsFromAlaska.PFANewPostcard_Activity.flipCard(PFANewPostcard_Activity.java:174)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at com.Pivotl.PostcardsFromAlaska.PFANewPostcard_Activity.access$0(PFANewPostcard_Activity.java:168)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at com.Pivotl.PostcardsFromAlaska.PFANewPostcard_Activity$2.onClick(PFANewPostcard_Activity.java:99)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.view.View.performClick(View.java:4223)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.view.View$PerformClick.run(View.java:17281)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.os.Handler.handleCallback(Handler.java:615)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.os.Looper.loop(Looper.java:137)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at android.app.ActivityThread.main(ActivityThread.java:4898)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at java.lang.reflect.Method.invokeNative(Native Method)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at java.lang.reflect.Method.invoke(Method.java:511)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
07-31 20:26:14.649: E/AndroidRuntime(28575):    at dalvik.system.NativeStart.main(Native Method)
我的动画是根据本教程制作的:

那么我有三种方法

  • flipCard()
  • flipFront()
  • 倒装
  • flipCard():

    flipFront():

    翻转():

    点击一个按钮,我称之为flipCard,如下所示:

    cardBackButton.setOnClickListener(new Button.OnClickListener(){
    
                @Override
                public void onClick(View v) {
                    //Check what side is showing
                    //Then perform flip left or right
                    flipCard();
                }
            });
    
    看起来很直截了当,但我似乎无法用手指去缠绕它,前几天我把它放下,现在才开始着手


    我非常感谢在这件事上的任何帮助

    我需要查看更多的代码,但是,我不得不说您没有对
    backMessageEdit
    的正确引用

    第174行是什么?在PFANewPostcard_Activityif(backMessageEdit.getText().toString()!=null)@ObieMD5Your现在是一个救生员,我评论说一个部分和boom…一切都很顺利!!这样做可以刷新页面吗?我的意思是,你是否保留了上一页的内容?
    private void flipFront()
        {
            mShowingBack = false;
            getFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.animator.card_flip_left_in, R.animator.card_flip_left_out,
                    R.animator.card_flip_right_in, R.animator.card_flip_right_out)
            .replace(R.id.postcardFrame, new CardFrontFragment())
            .addToBackStack(null)
            .commit();
    
        }
    
    private void flipBack()
        {
            getFragmentManager()
            .beginTransaction()
            .setCustomAnimations(
                    R.animator.card_flip_right_in, R.animator.card_flip_right_out,
                    R.animator.card_flip_left_in, R.animator.card_flip_left_out)
            .replace(R.id.postcardFrame, new CardBackFragment())
            .addToBackStack(null)
            .commit();
            mShowingBack = true;
        }
    
    cardBackButton.setOnClickListener(new Button.OnClickListener(){
    
                @Override
                public void onClick(View v) {
                    //Check what side is showing
                    //Then perform flip left or right
                    flipCard();
                }
            });