【发布时间】:2019-10-04 18:59:59
【问题描述】:
我创建了一个应用程序,该应用程序在摇动时从第一页转到第二页。但是从第二页开始,它并没有回到第一页。第一个页面关闭时如何停止摇晃活动?
我在两个页面中都实现了onShake() 方法。
这是主要活动:
public class MainActivity extends AppCompatActivity implements ShakeDetector.Listener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView t= (TextView) findViewById(R.id.t1);
t.setText("Hello World");
SensorManager SM=(SensorManager)getSystemService(SENSOR_SERVICE);
ShakeDetector SD=new ShakeDetector(this);
SD.start(SM);
}
@Override
public void hearShake() {
getWindow().getDecorView().setBackgroundColor(Color.GREEN);
OpenActivityNew();
}
private void OpenActivityNew() {
Intent intent=new Intent(this,TimeDone.class);
finish();
startActivity(intent);
}
}
这是第二个活动:
public class TimeDone extends AppCompatActivity implements ShakeDetector.Listener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.timer_layout);
TextView t= (TextView) findViewById(R.id.t2);
t.setText("This is Second Page");
SensorManager SM=(SensorManager)getSystemService(SENSOR_SERVICE);
ShakeDetector SD=new ShakeDetector(this);
SD.start(SM);
}
@Override
public void hearShake() {
getWindow().getDecorView().setBackgroundColor(Color.GREEN);
OpenActivityNew();
}
private void OpenActivityNew() {
Intent intent=new Intent(this,MainActivity.class);
finish();
startActivity(intent);
}
我对两个类都实现了相同的功能,因此从一个页面抖动到另一个页面,反之亦然。但它仅适用于 MainActivity。
【问题讨论】:
-
嗨!请将所有相关代码添加到问题中!至少你的两个 Activity 中的相关代码包含你用来在它们之间移动的逻辑。
标签: android android-studio android-activity shake