사용자가 화면에서 점을 드래그하고 거리 값을 설정할 수있는 응용 프로그램에서 작업 중입니다. 내가 원하는 건 드래그 기능을위한 절반 화면과 가젯 (버튼과 textViews)을 가진 나머지 절반을 갖는 것이다. 그래서, 서피스 뷰 SurfaceView를 확장하는 클래스를 생성 한 비트 맵 "점"과 기능 onTouchEvent를 사용 내 XML 파일에 내보기에 다음과 같이 참조 수행합니다Android : onTouchEvent에서 동적으로 textView 텍스트를 업데이트 할 수 없습니다.
<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 함수 내 텍스트 뷰에 대한의 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 클래스에서 내 텍스트 뷰를 사용할 수 없습니다. 정상입니까? 필요한 경우 더 자세한 설명을 제공 할 수 있습니다.
편집 : 지금 내 텍스트 뷰를 액세서 수 ReubenScratton의 솔루션을 사용 후, 그러나 나는 다음과 같은 오류 받고 있어요 : 나는 내 자신의 질문에 대답하지만 난 그냥 짜고있어주의하고
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
@ Guillaume이 맞습니다. 나는 나의 질문을 편집했다. – Anila