1

ViewAnimator を使用しようとしていますが、おそらく基本的なものが欠けています。これは私が持っているものです:

        va = new ViewAnimator(this);
    va.setInAnimation(inFromLeftAnimation());
    va.setOutAnimation(outToRightAnimation());

    RelativeLayout stage = (RelativeLayout)findViewById(R.layout.american_stage);
    va.addView(stage,0);


    setContentView(va);

inFromLeftAnimation と outToRightAnimation はアニメーションを処理するだけで、完全に機能します。そしてもちろん、ファイルが実際に存在すること...私はこのログを取得します:

   07-13 15:45:14.515: E/AndroidRuntime(564): java.lang.RuntimeException: Unable to start activity ComponentInfo{shibby.webhunt/shibby.webhunt.ArcadeModeActivity}: java.lang.NullPointerException
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.os.Handler.dispatchMessage(Handler.java:99)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.os.Looper.loop(Looper.java:123)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread.main(ActivityThread.java:4627)
07-13 15:45:14.515: E/AndroidRuntime(564):  at java.lang.reflect.Method.invokeNative(Native Method)
07-13 15:45:14.515: E/AndroidRuntime(564):  at java.lang.reflect.Method.invoke(Method.java:521)
07-13 15:45:14.515: E/AndroidRuntime(564):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
07-13 15:45:14.515: E/AndroidRuntime(564):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
07-13 15:45:14.515: E/AndroidRuntime(564):  at dalvik.system.NativeStart.main(Native Method)
07-13 15:45:14.515: E/AndroidRuntime(564): Caused by: java.lang.NullPointerException
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.view.ViewGroup.addView(ViewGroup.java:1815)
07-13 15:45:14.515: E/AndroidRuntime(564):  at shibby.webhunt.ArcadeModeActivity.onCreate(ArcadeModeActivity.java:25)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)

そして、私には理由がわかりません。XML ファイルをビューとして使用することはできませんか? 自分でビューを作成する必要がありますか?

4

1 に答える 1

0
07-13 15:45:14.515: E/AndroidRuntime(564): Caused by: java.lang.NullPointerException
07-13 15:45:14.515: E/AndroidRuntime(564):  at android.view.ViewGroup.addView(ViewGroup.java:1815)

nullの View ( ) を追加しようとしているようですRelativeLayout stage。findViewById() でレイアウトをロードできるとは思えません。

findViewById(R.layout.american_stage);

american_stage.xml で非表示のレイアウトを開こうとしている場合は、LayoutInflater を使用します。

LayoutInflater layoutInflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);  
stage = layoutInflater.inflate(R.layout.american_stage, null);  

または、既に表示されている RelativeLayout を読み込もうとしている場合:

1) RelativeLayout に ID を与えるamerican_stage

<RelativeLayout 
    android:id="@+id/american_stage"
    ...

2)そして使用:

findViewById(R.id.american_stage);
于 2012-07-13T16:00:53.997 に答える