我在一个活动中遇到了一个小问题。
共有3项活动:
登录的MainActivity,
DataActivity是一个包含3个选项卡的活动,
ParameterActivity是用于更改设置的活动
以下是解决问题的步骤:
- 启动应用程序并加载MainActivity
- 用户按下登录按钮,就会加载DataActivity
- 用户按下设备(平板电脑)上的"返回"按钮,ParameterActivity即被加载。->但是ParameterActivity没有正确加载。仅显示,不执行OnCreate中的步骤
为什么选择第3步
在我的代码中,只有一种可能性是加载活动(MainActivity中有一个"Parameter"按钮,在OnCreate中添加了setOnClickListener)。
在后台(在MainActivity中启动)有一个线程,用于检查与服务器的数据连接。
这是"登录"按钮的代码
无论应用程序是在模拟模式还是正常模式下运行都无关紧要。另一个代码用于检查右侧引脚(格式和值)。PasswordTimeOut()、WrongPasswordMessage()、PasswordFalschesFormat()是显示消息的函数。
bLogin.setOnClickListener(new View.OnClickListener() {
//On Click Methode
@Override
public void onClick(View v) {
// Checkbox fürs Passwort gesetz
if (chkPW.isChecked()) {
ZGlobals.setting.setPin(txtPin.getText().toString());
}
else { // sonst Pin zurücksetzen
ZGlobals.setting.setPin("");
}
SaveSettings();
// Wenn Simulationsmodus, dann direkt Hauptmaske, wenn PIN 1234 richtig
if (ZGlobals.setting.getSimulation()) {
if (txtPin.getText().toString().length() == 4 && isNumeric(txtPin.getText().toString())){
if (Integer.parseInt(txtPin.getText().toString()) == 1234) {
bLayoutThread = false;
Intent i = new Intent(getApplicationContext(), HomescreenActivity.class);
startActivity(i);
} else {
WrongPasswordMesage();
}
}
else {
PasswordFalschesFormat();
}
} else {
Runnable ReadData = new Runnable() {
@Override
public void run () {
int iCount = 0;
ZGlobals.gui.ResetPasswordMessage();
while (!ZGlobals.gui.GetMessagePasswordReceived()) {
iCount++;
if (iCount == 100) {
break;
}
SystemClock.sleep(20);
}
if (iCount < 100) {
if (ZGlobals.gui.GetMessagePasswordReceived()) {
if (ZGlobals.gui.getMessagePassword().getPasswordCorrect()) {
RightPasswordMessage();
bLayoutThread = false;
Intent i = new Intent(getApplicationContext(), HomescreenActivity.class);
startActivity(i);
}
else {
WrongPasswordMesage();
}
}
} // end if
else {
PasswordTimeOut ();
}
}
};
if (checkPin(txtPin.getText().toString())) {
Thread t = new Thread(ReadData);
t.start();
}
}
} // onClick
});
在第二个活动中,onBack没有被高估。
我发现了错误。重写的方法onResume是在设置其他布局的类中实现的。
我没有实施,这是我的队友,他在你身上。不知道他为什么要实施
很抱歉问了这么愚蠢的问题。。。