2013-07-17 79 views
0

我顯示全景照片,我想我的ImageView根據傳感器方向移動(我的手機的定位決定了圖像視圖,它的太寬,完全是一次顯示它)。當我調用改變我的ImageView的方法(例如setX)時,我的應用程序崩潰。我在UI線程中這樣做,所以我不知道爲什麼這不起作用。代表傳感器的代碼正常工作。移動的ImageView上Horizo​​ntalScrollView

任何幫助,將不勝感激。

public class ImageActivity extends Activity 
{ 
private ImageView imageView; 
private LocationManager locationManager; 
private String provider; 
private SensorManager sensorManager; 
public float val = 0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_image); 
    locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
    Criteria criteria = new Criteria(); 
    provider = locationManager.getBestProvider(criteria, false); 
    Location location = locationManager.getLastKnownLocation(provider); 
    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
    Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); 
    sensorManager.registerListener(new CustomOrientationListener(), sensor, 
          SensorManager.SENSOR_DELAY_GAME); 

    //imageView = (ImageView) findViewById(R.id.imageView1);  

} 


class CustomOrientationListener implements SensorEventListener { 

     public CustomOrientationListener() {} 

     @Override 
     public void onAccuracyChanged(Sensor sensor, int accuracy) {} 

     @Override 
     public void onSensorChanged(SensorEvent event) { 
      final float[] values; 
      if(event.sensor.getType() == Sensor.TYPE_ORIENTATION){ 
       values = event.values; 
       runOnUiThread(new Runnable(){ 

       @Override 
       public void run() { 
        imageView.setTranslationX((int)values[0]); 

       } 

       }); 
      } 

     } 

    } 

}

+1

後的異常文本 –

+0

我測試了我的手機上,它只是說,應用程序崩潰,或者你的意思是某種形式的日誌?如果是這樣,我可以在哪裏找到它們? – user2587107

+1

如果您安裝了sdk,並且在您的路徑中,在終端中,您可以運行:adb logcat。大多數IDE也有一個內置的版本,可以更容易閱讀(您可以搜索異常等內容)。每當應用程序崩潰時,您應該會看到一個異常和堆棧跟蹤。 –

回答

-1

是的,我確實有Android SDK中我的電腦上,但我測試我的應用我的手機上,所以我不知道如何閱讀日誌,因爲我不知道磨片

相關問題