切换Android活动中的活动

时间:2015-10-18 04:28:42

标签: java android

每当我尝试点击一个按钮并切换活动时,它总会给我错误并保持相同的活动而不做任何事情:

  

W / EGL_emulation:eglSurfaceAttrib未实现

     

W / OpenGLRenderer:无法在表面0xa6d42940上设置EGL_SWAP_BEHAVIOR,错误= EGL_SUCCESS

我认为这是我的清单文件中的内容,但我无法找到任何内容。我尝试过改变很多东西并插入不同的过滤器等等,但没有解决这个问题。

我的代码是:

  1. 的AndroidManifest.xml
  2. <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                    package="com.example.robertmonks.mytestapp" >
    
        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme" >
            <activity
                android:name="Main_Activity"
                android:label="@string/app_name"
                android:theme="@style/AppTheme.NoActionBar" >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name="Login_Activity"
                android:label="@string/title_activity_login_"
                android:theme="@style/AppTheme.NoActionBar" >
            </activity>
            <activity
                android:name="Register_Activity"
                android:label="@string/title_activity_register_"
                android:theme="@style/AppTheme.NoActionBar" >
            </activity>
        </application>
    </manifest>
    
    1. Main_Activity
    2. package com.example.robertmonks.mytestapp;
      
      import android.app.AlertDialog;
      import android.os.Bundle;
      import android.support.design.widget.FloatingActionButton;
      import android.support.design.widget.Snackbar;
      import android.support.v7.app.AppCompatActivity;
      import android.support.v7.widget.Toolbar;
      import android.view.View;
      import android.app.AlertDialog;
      
      public class Main_Activity extends AppCompatActivity {
      
          android.widget.Button   logoutButton;
          android.widget.EditText password;
          android.widget.EditText username;
      
          @Override
          protected void onCreate( Bundle savedInstanceState )
          {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.content_login_);
      
              password = (android.widget.EditText) findViewById( R.id.etPassword );
              username = (android.widget.EditText) findViewById( R.id.etEmailAddress );
              logoutButton = (android.widget.Button) findViewById( R.id.blogin);
      
              logoutButton.setOnClickListener(new android.widget.Button.OnClickListener() {
                  @Override
                  public void onClick(View v) {
                      if (v.getId() == R.id.blogin) {
                          logoutButtonClicked();//move action to new method to keep code clean
                      }
                  }
              });
      
          }
      
      
          private void logoutButtonClicked()
          {
              android.content.Intent loginintent = new android.content.Intent(Main_Activity.this, Login_Activity.class);
              Main_Activity.this.startActivity(loginintent);
              android.util.Log.d("Logout", "Attempted");
          }
      
      }
      
      1. Login_Activity
      2. package com.example.robertmonks.mytestapp;
        
        import android.app.AlertDialog;
        import android.os.Bundle;
        import android.support.design.widget.FloatingActionButton;
        import android.support.design.widget.Snackbar;
        import android.support.v7.app.AppCompatActivity;
        import android.support.v7.widget.Toolbar;
        import android.view.View;
        import android.app.AlertDialog;
        
        public class Login_Activity extends AppCompatActivity {
        
            android.widget.Button   loginButton;
            android.widget.Button   registerButton;
            android.widget.EditText password;
            android.widget.EditText username;
        
            @Override
            protected void onCreate( Bundle savedInstanceState )
            {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.content_login_);
        
                password = (android.widget.EditText) findViewById( R.id.etPassword );
                username = (android.widget.EditText) findViewById( R.id.etEmailAddress );
                loginButton = (android.widget.Button) findViewById( R.id.blogin);
                registerButton = (android.widget.Button) findViewById( R.id.bregister);
        
                loginButton.setOnClickListener(new android.widget.Button.OnClickListener(){
                    @Override
                    public void onClick(View v) {
                        if(v.getId() == R.id.blogin) {
                            loginButtonClicked();//move action to new method to keep code clean
                        }
                        if(v.getId() == R.id.bregister) {
                            registerButtonClicked();
                        }
                    }
                });
        
                registerButton.setOnClickListener(new android.widget.Button.OnClickListener(){
                    @Override
                    public void onClick(View v) {
                        if(v.getId() == R.id.bregister) {
                            registerButtonClicked();
                        }
                    }
                });
        
            }
        
            private void loginButtonClicked()
            {
        
                //startActivity(Main_Activity.class);
                android.util.Log.d("Login", "Attempted");
            }
        
            private void registerButtonClicked()
            {
                android.content.Intent registerintent = new android.content.Intent(Login_Activity.this, Register_Activity.class);
                Login_Activity.this.startActivity(registerintent);
                android.util.Log.d("New User", "Attempted");
            }
        
        }
        
        1. Registration_Activity
        2. package com.example.robertmonks.mytestapp;
          
          import android.os.Bundle;
          import android.support.design.widget.FloatingActionButton;
          import android.support.design.widget.Snackbar;
          import android.support.v7.app.AppCompatActivity;
          import android.support.v7.widget.Toolbar;
          import android.view.View;
          
          public class Register_Activity extends AppCompatActivity {
          
          
              android.widget.Button   createAccountButton;
              android.widget.Button   LoginPageButton;
              android.widget.EditText password1;
              android.widget.EditText password2;
              android.widget.EditText FirstName;
              android.widget.EditText LastName;
              android.widget.EditText EmailAddress;
          
              @Override
              protected void onCreate( Bundle savedInstanceState )
              {
                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.content_login_);
          
                  password1 = (android.widget.EditText) findViewById( R.id.etFirstPassword );
                  password2 = (android.widget.EditText) findViewById( R.id.etSecondPassword );
                  FirstName = (android.widget.EditText) findViewById( R.id.etFirstName );
                  LastName = (android.widget.EditText) findViewById( R.id.etLastName );
                  createAccountButton = (android.widget.Button) findViewById( R.id.blogin);
                  LoginPageButton = (android.widget.Button) findViewById( R.id.bregister);
                  EmailAddress = (android.widget.EditText) findViewById( R.id.etEmailAddress);
          
                  createAccountButton.setOnClickListener(new android.widget.Button.OnClickListener(){
                      @Override
                      public void onClick(View v) {
                          if(v.getId() == R.id.blogin) {
                              createAccountButtonClicked();//move action to new method to keep code clean
                          }
                      }
                  });
          
                  LoginPageButton.setOnClickListener(new android.widget.Button.OnClickListener() {
                      @Override
                      public void onClick(View v) {
                          if (v.getId() == R.id.bregister) {
                              LoginPageButtonClicked();
                          }
                      }
                  });
          
              }
          
              private void createAccountButtonClicked()
              {
                  android.util.Log.d("Create Account", "Attempted");
              }
          
              private void LoginPageButtonClicked()
              {
                  android.util.Log.d("Login Page", "Attempted");
                  android.content.Intent loginintent = new android.content.Intent(this, Login_Activity.class);
                  startActivity(loginintent);
              }
          
          }
          

2 个答案:

答案 0 :(得分:0)

对于所有按钮,请尝试更改onclicklistener 例如对于注册按钮,

 registerButton.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // Perform action on click
         }
     });

我希望这会有所帮助。干杯:)

答案 1 :(得分:0)

您的代码看起来不错......我认为问题是您的模拟器配置 仅限在已选中使用主机GPU 设置的模拟器上。尝试关闭它,你将不再看到那些警告(并且模拟器将运行可怕,非常慢......)
 工具&gt; Android&gt; AVD Manager&gt;编辑虚拟设备,然后在那里找到使用主机GPU设置。

了解更多详情.. click