我的活动有一个小问题。
有3项活动:
登录的MainActivity,
DataActivity是一个包含3个选项卡的活动,
ParameterActivity是一项更改设置的活动。
以下是解决问题的步骤:
为什么选择第3步? 在我的代码中,只有一种可能性是加载活动(MainActivity中有一个“参数”按钮,在OnCreate中添加了setOnClickListener)。
在后台(在MainActivity中启动)中,有一个线程可以检查与服务器的数据连接。
这是“登录”按钮的代码。
如果App在模拟或正常模式下运行无关紧要。另一个代码用于检查正确的引脚(格式和值)。 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未被覆盖。
答案 0 :(得分:0)
我发现了这个错误。 overRided方法onResume是在设置其他布局的类中实现的。
我没有实现它,它是我的队友而且他是在你的。不知道他为什么要实施它......
很抱歉提出这么愚蠢的问题......