'main'XMLファイルで宣言するカスタムビューがあります。
<com.app.DrawView
android:id="@+id/my_view"
android:layout_height="match_parent"
android:layout_width="match_parent" />
次に、私のアクティビティのonCreateメソッドで:
setContentView(R.layout.main);
これはすべて、カスタムビューを表示するために正常に機能します。しかし、私がする必要があるのは、カスタムビューに値を渡すことです。そこで、カスタムビュークラスのインスタンスを作成してみました。
DrawView drawView = (DrawView) findViewById(R.id.my_view);
次に、DrawViewクラスで、次のメソッドを作成しました。
public void setUserData(boolean data){
useEraser = data;
}
さて、私の問題は、アクティビティ内のDrawViewオブジェクトに対してこのメソッドにアクセスしようとすると、NullPointerExeptionを取得し続けることです。
boolean value = true;
drawView.setUserData(value);
エラーは「drawView.setUserData(value)」行を指しています。私は何が間違っているのですか?私は単純な間違いを犯したに違いないことを知っていますが、それは私がそれを見つけようとして夢中になっています。どんな助けや提案も素晴らしいでしょう!
編集:私は正しく機能した答えを受け入れました、しかし、私はまだ私の元の解決策が機能しなかった理由を知りたいと思いました。それで、質問で正しく注文したにもかかわらず、私は
DrawView drawView = (DrawView)findViewById(R.id.my_view);
前
setContentView(R.layout.main);
私はそれが私が見落としていた単純な間違いであることを知っていました!回答ありがとうございます。ありがとうございました。そして、これが同様の問題に直面している人にとって役立つことを願っています。