为什么我的第三个屏幕上的按钮ID在第一个屏幕上具有相同的按钮ID?

时间:2014-12-10 05:52:49

标签: java android eclipse

你好这是我的App3Activity类,从App2Activity屏幕开始,它将导航到那个类。幸运的是我已经可以切换屏幕了。从我的Screen1 - Screen2到Screen 3,但在我的第一个屏幕上,我有3个按钮。在我的退出按钮上它有一个id名称,我在Screen3上的按钮在我的第一个屏幕上总是有相同的id名称?

App3Activity类     package com.example.fillmeapp;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;

public class App3Activity extends Activity {

Button button;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main3);

}

}       

我的AppActivity类

package com.example.fillmeapp;

import android.support.v7.app.ActionBarActivity;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.media.MediaPlayer;
import android.os.Bundle;

public class AppActivity extends Activity {

Button button;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        addListenerOnButton1();
        addListenerOnButton2();
        addListenerOnButton3();
    }



    public void addListenerOnButton1() {

        final Context context = this;

        button = (Button) findViewById(R.id.btn1);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent intent = new Intent(context, App2Activity.class);
                            startActivity(intent);   
            }


        });

    }

    public void addListenerOnButton2() {

        final Context context = this;

        button = (Button) findViewById(R.id.btn2);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent intent = new Intent(context, App3Activity.class);
                            startActivity(intent);   

                            MediaPlayer mediaPlayer = MediaPlayer.create(context,         R.raw.sound_2); //create audio object
                            mediaPlayer.start(); 
            }           

        });

    }
    public void addListenerOnButton3(){

    button =(Button)findViewById(R.id.quit);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            android.os.Process.killProcess(android.os.Process.myPid());
            System.exit(0);

        }
    });
}


}

2 个答案:

答案 0 :(得分:0)

同一个ID没有问题。唯一的一点是,您必须在一个布局中只有一个唯一ID。 享受。

答案 1 :(得分:0)

在您的情况下,活动处​​于堆叠状态。当您关闭当前活动System.exit(0);并且之前的活动进入forground时。如果您要退出应用程序。

试试这个

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);