Androidでグラフィックを描画するための素晴らしいチュートリアルをいくつか使用しています。ここにあるクールなジェスチャーのデモも追加したいと思いました。
http://developer.android.com/resources/articles/gestures.html
次のコード行が必要です。
GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures);
gestures.addOnGesturePerformedListener(this);
これは問題なくダンディですが、デモで「Android でグラフィックスを使って遊ぶ」のコードを使用してビルドしようとしていることに気付きました。デモは理にかなっており、すべてが理にかなっていますが、以下を使用してわかりました:
setContentView(new Panel(this));
Playing With Graphics チュートリアルで要求されているように、findViewById は有効ではなくなったようで、null を返します。最初に、なぜこれが起こっているのかについてもっと愚かな質問を投稿しようとしていました.setContentViewで遊んでみると、findViewByIdがnullを返す原因がわかりました.この問題を解決する方法がわかりません. ここで欠けている鍵は何ですか? 新しいパネルがいくつかの参照を行っていることは認識していますが、ここで接続する方法がわかりません。
The: R.id.gestures は main.xml で次のように定義されています: (チュートリアルと同様)
<android.gesture.GestureOverlayView
android:id="@+id/gestures"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1.0" />
だから私は確認しました
setContentView(new Panel(this))
問題を引き起こしています。したがって、android.gesture.GestureOverlayView をどうにかしてパネル クラスに追加する方法を見つけなければならないことが問題であることはわかっていますが、どうすればよいかわかりません。
これと戦った後、私は一般的に、今何をする必要があるかをどのように行うかを知っています. そのmain.xmlでパネルを作成するのと同等か、コード内のジェスチャーのためにmain.xmlでwhatsを構築する方法を理解する必要があると思います。これを行ったので、私は近くにいます: GestureOverlayView ジェスチャ = new GestureOverlayView(this);
残念ながら、親をどこにでも埋めるように指示していないので、実際には表示されないと思うので、レイアウトパラメータを見つけようと懸命に努力しています。私は正しい軌道に乗っていますか?