2012-05-14 2 views
0

나는 이미지의 설명을 제공하는 텍스트 상자가 있고, 터치하면 아래쪽으로 image.in의 위치를 ​​설명 할 것입니다. 두 버튼 사이를 탐색하기 위해 사용했습니다. image.what 내가 이것을해야합니까? 나는 그 것을 이해하지 못한다.다른 이미지를 표시

다른 클래스의 이미지를 사용한 다음 해당 이미지를 호출했지만 작동하지 않습니다. 나는이 일에 3 일 동안 붙어있어서 아무도 나를 도와 줄 수 없다.

아무도 내가이 질문을 다시 부탁한다고 생각하면 죄송합니다.

 image i want this way 내 코드는 첫 번째 이미지

public class FirstImage extends ImageView { 
    float a=0; 
    float b=0; 

    TextView t= (TextView) findViewById(R.id.textView1); 

    public FirstImage(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 

    } 

    public FirstImage(Context context, AttributeSet attrs) { 
      super(context, attrs); 

    } 




    public boolean onTouch(MotionEvent me){ 
     switch(me.getAction()){ 
     case MotionEvent.ACTION_DOWN: 
      a=me.getX(); 
      b= me.getY(); 
      pageinfo(a,b); 
      break; 
     case MotionEvent.ACTION_MOVE: 
      a=me.getX(); 
      b= me.getY(); 
      pageinfo(a,b); 
      break; 
     case MotionEvent.ACTION_UP: 
      a=me.getX(); 
      b= me.getY(); 
      pageinfo(a,b); 
      break; 
     case MotionEvent.ACTION_OUTSIDE: 
      a=me.getX(); 
      b= me.getY(); 
      pageinfo(a,b); 
      break; 
     default: return false; 
     } 
     return true; 

    } 

    public void pageinfo(float a,float b){ 

     t.setText(Float.toString(a)+"x"+Float.toString(b)+"y"); 

    } 



} 

나는 다음과 같이 배치 파일에서 호출이 ...

<com.example.androidtablayout.FirstImage 
     android:id="@+id/myandroid" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/human" 
     /> 

의 다음과 같다하지만이 표시되지 않을 이유는 이해하고 있지 않다 어떤 일은 ontouch 이벤트. 그것은 당신의 클래스의 내재적으로 작성 생성자에 FirstImage 인스턴스를 생성

FirstImage i= new FirstImage (this); 

:

+1

문제를 더 잘 이해하려면 관련 코드 (활동 소스, 레이아웃)를 공유해야합니다. 또한 어떤 예외의 Logcat 출력도 도움이 될 것입니다. – rekaszeru

+0

제발이 qustion을 따르십시오 http://stackoverflow.com/questions/10577848/displaying-image-from-other-class-in-android – Ashishsingh

+0

나는 당신이 성취하려는 곳과 당신이 붙어있는 곳을 이해하는 데 어려움을 겪습니다. . 당신이하고있는 일 (코드, 스크린 샷, 텍스트), 일어날 것으로 예상되는 것과 대신 일어날 일을 더 잘 설명 할 수 있습니까? "작동하지 않습니다"대신에 예외를 던지거나, 컴파일하지 않으며, 사용자 인터페이스에서 예기치 않은 요소를 보여 주거나, 얼려 버리는 지 여부를 알려 주어야합니다. – Codo

답변

0

(링크 된 질문에서 가져온 VideosActivity 클래스에서) 다음 코드는 문제입니다. 그러나 활동의 라이프 사이클 초기에 UI 위젯을 생성 할 수는 없습니다. 레이아웃 인플레 이터가 모든 UI 위젯을 생성하기 때문에 필요하지 않습니다. 어떻게해야

FirstImage i; 

:

그래서 그냥 코드를 변경합니다.

인스턴스 변수 i을 초기화하는 올바른 방법은 이미 findViewById()onCreate()에 호출하는 코드에 있습니다.

업데이트 :

당신이 이미지를 터치 할 때 onTouch 호출 할 것으로 예상 것으로 보인다. 하지만 onTouch은 오버라이드 할 수있는 수퍼 클래스의 메소드가 아닙니다. 대신 onTouchView.OnTouchListener 인터페이스의 메소드입니다.

수정하려면 인스턴스를 수신기 (setOnTouchListener 사용)로 등록하고 View.OnTouchListener을 구현하도록 선언하십시오. 또는 메서드 이름을 OnTouchEvent (재정의 할 수 있음)으로 변경합니다.

+0

방금 ​​그 방법을 사용했지만 오류가 발생했습니다 – Ashishsingh

+0

예외가 발생하면 예외가 생겼습니다. 다른 스택 추적을 가진 예외. 제발 전체 stracktrace을 게시하고 우리가 짐작하지 마십시오. – Codo

+0

지금은 그 일을 해결하지만 지금은 이미지를 만지고있을 때 아무 것도 표시하지 않습니다. 내 코드를 확인할 수 있습니다. 내 질문에 편집했습니다. – Ashishsingh

관련 문제