2012-05-14 67 views
0

我正在創建一個應用程序,其中我有一個文本框,它給出了圖像的描述。觸摸它將描述圖像的位置。在較低的一面,我用兩個按鈕進行導航image.我應該爲此做些什麼?我不理解那件事。顯示不同的圖像

我已經在其他類中使用了圖像,然後我稱之爲圖像,但它不工作。我從三天卡在這個可以幫助我這個任何人。

如果有人認爲我在問這個問題,那麼我很抱歉。

 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事件。

+1

您應該分享您的相關代碼(活動來源,佈局),以便更好地理解問題。此外,任何異常的Logcat輸出都會有所幫助。 – rekaszeru

+0

請按照這個問題http://stackoverflow.com/questions/10577848/displaying-image-from-other-class-in-android – Ashishsingh

+0

我很難理解你想要達到什麼和你卡在哪裏。你能更好地解釋你在做什麼(代碼,截圖,文字),你會期望發生什麼以及發生什麼。你應該告訴我們它是否會拋出異常,不會編譯,在用戶界面中顯示意外的元素,凍結等。 – Codo

回答

0

下面的代碼(在VideosActivity類,從鏈接的問題採取)的問題是:

FirstImage i= new FirstImage (this); 

它在你的類的隱式創建的構造函數創建一個FirstImage實例。但是,在活動的生命週期中,您無法生成UI小部件。而且你也不需要,因爲佈局inflater會生成所有的UI小部件。

所以只是改變代碼:

FirstImage i; 

這應該做的。

初始化實例變量i的正確方法已在您的代碼中,即在onCreate()中調用findViewById()

更新:

看來你期望onTouch當圖像被觸摸到被調用。但是onTouch不是您可以覆蓋的超類方法。 onTouchView.OnTouchListener接口的方法。

要修復它,可以將實例註冊爲偵聽器(使用setOnTouchListener)並聲明它實現View.OnTouchListener。或者將方法名稱更改爲OnTouchEvent(可以重寫)。

+0

我剛剛也用過這種方式,但它是拋出我的錯誤 – Ashishsingh

+0

如果它也拋出一個異常,那麼它是一個不同的例外或至少異常與不同的堆棧跟蹤。請發佈完整的散記,不要猜測。 – Codo

+0

現在我只是解決這個問題,但現在當我觸摸圖像它不顯示任何東西。你可以檢查我的代碼。我在我的問題中編輯了它。 – Ashishsingh