如何将click事件放在单个按钮上,以便它转到android中的上一个活动

时间:2013-01-30 09:58:10

标签: android button android-intent back

我已经创建了一个应用程序,我有一个活动包含一个TextView和一个按钮。现在这个活动在应用程序中被多次使用,所以我想要的是,当我点击该活动中的后退按钮时,它应该去以前的活动。简而言之,它应该作为设备的后退按钮。我的代码如下:

此活动用于4项活动,

所以我尝试过如下:

Advance_help.java

package com.theappgeeks.kevingreenwealth;

import java.text.BreakIterator;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AdvanceHelp extends Activity implements OnClickListener{
Button btn;
Calculator_1Activity cal1 =new Calculator_1Activity();
Calculator2 cal2 =new Calculator2();
Calculator_3Activity cal3 =new Calculator_3Activity();
Calculator_4Activity cal4 =new Calculator_4Activity();

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_advance_help);
        btn=(Button)findViewById(R.id.button1);
        /*btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if(btn.)
            Intent i1=new Intent(AdvanceHelp.this,Calculator_1Activity.class);  
            startActivity(i1);

            }
        });*/
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_advance_help, menu);
        return true;
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(v.equals(cal1)){
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent i1= new Intent(AdvanceHelp.this,Calculator_1Activity.class);
                    startActivity(i1);
                }

            });

        }
        else if(v.equals(cal2)){
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent i1= new Intent(AdvanceHelp.this,Calculator2.class);
                    startActivity(i1);
                }

            });

        }

        else if(v.equals(cal3)){
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent i1= new Intent(AdvanceHelp.this,Calculator2.class);
                    startActivity(i1);
                }

            });

        }

        else if(v.equals(cal4)){
            btn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    Intent i1= new Intent(AdvanceHelp.this,Calculator2.class);
                    startActivity(i1);
                }

            });

        }
        else
        {
            Intent i = new Intent(AdvanceHelp.this,MainMenuActivity.class);
            startActivity(i);
        }
    }
}

请尽快帮助我..谢谢 提前

4 个答案:

答案 0 :(得分:1)

糟糕的编程习惯,

正如您implements OnClickListener

btn=(Button)findViewById(R.id.button1);
btn.setOnClickListener(this);

并删除

 btn.setOnClickListener(new OnClickListener() {

来自

@Override
    public void onClick(View v) {

i want is that when i click the back button in that activity ,it should go to the previous
activity.In short it should work as back button of device.My code is as below:

只需在按钮的click()上调用Activity finish()即可。

答案 1 :(得分:0)

只需调用方法onBackPressed()即可。按下后退按钮时也会调用此方法。

答案 2 :(得分:0)

对于背压和完成,上述答案都是正确的,但这不是一个合适的问题,你有一个按钮,你想要调用4个不可能的活动...... !!!!因为你正在将它与id进行比较,而这只有当你有超过按钮时才有意义..... !!!!!

答案 3 :(得分:0)

在您的onClick(View v)方法调用中super.OnBackPressed()调用后退按钮,或调用finish()结束当前活动并返回上一个正在运行的活动