如果按下onBack,则会打开新活动



我在一个活动中遇到了一个小问题。

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

以下是解决问题的步骤:

  1. 启动应用程序并加载MainActivity
  2. 用户按下登录按钮,就会加载DataActivity
  3. 用户按下设备(平板电脑)上的"返回"按钮,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是在设置其他布局的类中实现的。

我没有实施,这是我的队友,他在你身上。不知道他为什么要实施

很抱歉问了这么愚蠢的问题。。。

相关内容

  • 没有找到相关文章

最新更新