Java 按钮单击事件不起作用

Java 按钮单击事件不起作用,java,android,Java,Android,我试图切换视图,但当我在第二个视图中时,返回事件单击不起作用。。我不知道怎么了 请看我的代码并帮助我 如果需要两种布局,请使用viewflipper。如果需要两个活动(java类)和两个布局,请分别使用: Intent i = new Intent (this, myClass.class); startActivity(i); 启动活动而不是设置ContentView 因此,这里: public void onClick(View v) {

我试图切换视图,但当我在第二个视图中时,返回事件单击不起作用。。我不知道怎么了

请看我的代码并帮助我


如果需要两种布局,请使用viewflipper。如果需要两个活动(java类)和两个布局,请分别使用:

Intent i = new Intent (this, myClass.class);
startActivity(i);
启动活动而不是设置ContentView

因此,这里:

public void onClick(View v) {
                       startActivity(new Intent (MainActivity.this, t.class));
                                         OR IN THE CASE OF T.CLASS:
                       startActivity(new Intent (t.this, MainActivity.class));
               }

您必须重写onBackPressed。更改您的主要活动如下

public class MainActivity extends Activity {

        private boolean goBack = false;           


        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);



                Button sobre = (Button) findViewById(R.id.button1);
                  sobre.setOnClickListener(new OnClickListener() {
                   public void onClick(View v) {
                           goBack = true;
                           setContentView(R.layout.janela2);
                   }
                   });


        }

        @Override
        public void onBackPressed() {
        //If you have switched to R.layout.janela2 then go back
        if (goBack){
            setContentView(R.layout.activity_main);
            goBack = false;
            return;
            }
        //else do default action
        super.onBackPressed();
        }
}

如果要在应用程序中恢复按钮功能,必须重写
onBackPressed()
方法。i、 e

public void onBackPressed() {

     Intent start = new Intent(CurrentClass.this,Next_Activity.class);
      startActivity(start);
     finishActivity(0);
 }

只需执行以下代码,我希望它可以帮助您

MainActivity.java 在t.java中
嗨,克劳迪奥,请不要使用粘贴箱,并在你的问题正文中发布代码的相关部分。对不起,我已经发布了所有的代码,因为我不知道会发生什么错误…代码只有按钮功能…所有都是相关的。你能在你的问题中发布代码吗。它没有显示在pastebin中。您没有在Main活动中重写OnBackpress。仔细阅读上面发布的代码做这件事时代码仍然不起作用,已经用Antico下载了一个项目,另一个版本的android sdk工作了,会不会是这个新sdk出了问题?我在我的mac上试过了,但在tbm创建一个新项目时,它不起作用,因为你让我发布了源代码?一个有效的新项目?什么?我不明白你的意思,我详细解释了答案,让我知道还有什么疑问。这就是为什么你现在在
onBackPressed()中调用
finish()
?该活动要么已经完成,要么您正在破坏
onRestart()
的功能。
public void onBackPressed() {

     Intent start = new Intent(CurrentClass.this,Next_Activity.class);
      startActivity(start);
     finishActivity(0);
 }
public class MainActivity extends Activity { 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            Button sobre = (Button) findViewById(R.id.button1);
            sobre.setOnClickListener(new OnClickListener() {
               public void onClick(View v) {

               Intent intent = new Intent(MainActivity.this, t.class);
               startActivity(intent);
               }
           });
    }
 }
public class t extends Activity{

    Button volta;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.janela2);
    }

 @Override
 public void onStop() {
    super.onStop();
    finish();
 }
}