-2

シェイクコマンドを使用してページをナビゲートしたいのですが、エラーが発生するため、コードで見逃したものです。加速度計とは何かを理解できません。ここに私のコードがあります。

public class ACTIVITY extends Activity { /** アクティビティが最初に作成されたときに呼び出されます。*/

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

            SensorManager mSensorManager;

            ShakeEvent mSensorListener;

            mSensorListener = new ShakeEvent();
            mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
            mSensorManager.registerListener(mSensorListener,
                mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_UI);


            mSensorListener.setOnShakeListener(new ShakeEvent.OnShakeListener() {

              public void onShake() {
                  Intent i = new Intent(shake.this, NEWACTIVITY.class);
                  startActivity(i);
              }
            });
        }}

助けてくれてありがとう。

4

1 に答える 1

0

あなたの活動は「ACTIVITY」と呼ばれています。ただし、onShake メソッドでは、最初の引数「shake.this」でインテントを作成します。OnShakeListener は「shake」というクラスにネストされていないため、意味がありません(さらに、最初の引数は Context オブジェクトでなければなりません!)。代わりに次のように記述する必要があります。

          public void onShake() {
              Intent i = new Intent(ACTIVITY.this, NEWACTIVITY.class);
              startActivity(i);
          }
于 2012-07-15T06:08:04.983 に答える