0

我有一个活动的小问题。

有 3 个活动:
用于登录的 MainActivity,
DataActivity 是一个带有 3 个选项卡的活动,
ParameterActivity 是一个更改设置的活动。

这些是解决问题的步骤:

  1. 应用程序启动并加载 MainActivity
  2. 用户按下登录按钮并加载 DataActivity
  3. 用户按下设备(平板电脑)上的“返回”按钮并加载 ParameterActivity。-> 但 ParameterActivity 未正确加载。仅显示,不执行 OnCreate 中的步骤。

为什么是第 3 步?
在我的代码中,只有一种可能加载活动(MainActivity 中有一个“参数”按钮,在 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 未被覆盖。

4

1 回答 1

0

我发现了错误。重写的方法 onResume 在设置其他布局的类中实现。

我没有实现它,这是我的队友,他在你的身边。不知道他为什么实施它...

抱歉问了这么愚蠢的问题……

于 2014-11-04T11:02:13.130 回答