私はユーザーが画面上の点をドラッグして距離の値を設定するアプリケーションを開発中です。私が望むのは、ドラッグ機能の半画面と、ガジェット(ボタンとtextViews)の半分の画面を持つことです。私は、SurfaceViewを拡張するクラスを作成したビットマップ「ドット」と機能onTouchEventを使用して、私のxmlファイルで、私は私のビューに次のように参照を行うには:Android:onTouchEventから動的にテキストビューのテキストを更新できません
<test1.DragView
android:id="@+id/view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
私が欲しいものを私与えます。しかし、今私はドットの位置を動的に更新したい。これを行うには、私は私のonTouchEvent機能で私のTextViewのためのsetText()関数を追加しました:それは
AndroidRuntime(845): FATAL EXCEPTION: main
AndroidRuntime(845): java.lang.NullPointerException
AndroidRuntime(845):
at test1.DragView.onTouchEvent(DragView.java:87)
AndroidRuntime(845):
at android.view.View.dispatchTouchEvent(View.java:5462)
AndroidRuntime(845): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1953)
のように私にエラーが発生します
@Override
public boolean onTouchEvent(MotionEvent event) {
x=(int)event.getX();
y=(int)event.getY();
bitmap =BitmapFactory.decodeResource(getResources(), R.drawable.dot);
if(x<0)
x=0;
if(x > width+(bitmap.getWidth()/2))
x=width+(bitmap.getWidth()/2);
if(y <0)
y=0;
if(y > height/2)
y=height/2;
tv=(TextView) findViewById(R.id.textView); //I declared tv in the beginning of my class
tv.setText(x);
updateBall(); //it's a function that resets the position of the dot
return true;
}
私は私のDragViewクラスで私のTextViewを使用することはできません。それは普通ですか?私は必要に応じてより多くの説明を提供することができます。
EDIT: ReubenScrattonの溶液を使用した後、私は今、私のTextViewをアクセスもできますが、私は次のエラーを取得しています:
AndroidRuntime(672): FATAL EXCEPTION: main
AndroidRuntime(672): android.content.res.Resources$NotFoundException: String resource ID #0x109
AndroidRuntime(672): at android.content.res.Resources.getText(Resources.java:247)
AndroidRuntime(672): at android.widget.TextView.setText(TextView.java:3427)
AndroidRuntime(672): at test1.DragView.onDraw(DragView.java:73)
'setText()'とlogcat出力を呼び出す場所でコードを提供できるかどうかは分かります。 – mdelolmo
"NullPointerExceptionのようなエラーが表示されます" - NPEを生成するコードと例外のスタックトレースを提供しないと、どうすれば助けてくれると思いますか? LogCatは少なくとも – Guillaume
をお待ちしています。私は私の質問を編集しました。 – Anila