将一个活动中的两个按钮连接到另外两个活动

时间:2015-05-21 04:39:43

标签: android user-interface button

我试图用两种模式进行简单的数学游戏,加法和减法。我想出了如何创建一个按钮来链接"添加按钮"添加活动,但我似乎无法弄清楚如何创建第二个"减法按钮"这将链接到减法活动。这是我破碎的代码:

package com.example.kirky_000.madmath;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.Context;
import android.content.Intent;


public class MainMenu extends ActionBarActivity {
    Button button;
    Button button2;

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

    public void addListenerOnButton() {

        final Context context = this;

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


        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

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

            }
            button2.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {

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

                }
        });

    }

5 个答案:

答案 0 :(得分:1)

您的代码只有一些语法错误,根据给定的代码解决...

package com.example.kirky_000.madmath;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import android.content.Context;
import android.content.Intent;


public class MainMenu extends ActionBarActivity {
    Button button;
    Button button2;

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

    public void addListenerOnButton() {

        final Context context = this;

        button = (Button) findViewById(R.id.button);
        button2 = (Button) findViewById(R.id.button2);
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

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

            }
});
            button2.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {

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

                }
        });
    }
}

答案 1 :(得分:0)

添加侦听器的第二条指令位于第一个OnClickListener中。

因此,侦听器永远不会添加到第二个按钮。你的代码应该是这样的:

public void addListenerOnButton(){

    final Context context = this;

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


    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

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

        }

    });

   button2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

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

            });

}

答案 2 :(得分:0)

您需要为不同的按钮设置不同的点击侦听器。现在,您将第一个按钮的点击监听器放在第一个按钮的点击监听器中。像这样分开他们..

button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

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

        }
    });

 button2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

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

            }
     )};

答案 3 :(得分:0)

解决方案之前的一些要点(这些将帮助您进一步编码)。

  1. 在按钮声明后声明context:所以在Button button, button2之后,写:

    final Context context;
    
  2. 始终牢记:始终在onCreate()中初始化对象 方法。所以在OnCreate()之后 setContentView(R.layout.activity_main_menu);,写道:

    button = (Button) findViewById(R.id.button);
    button2 = (Button) findViewById(R.id.button2);
    
    //then define context
    
    context = MainMenu.this;
    //or context = getApplicationContext();
    
  3. 现在addListenerOnButton()函数将是这样的(只需替换 addListenerOnButton()代码如下:

    public void addListenerOnButton(){
    button.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(context, Addition.class);
                        startActivity(intent);
                }
            });
    
    button.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent(context, Subtraction.class);
                    startActivity(intent);
                }
            });
    }
    
  4. 现在您的代码中的wong是什么?

    您的 onClick侦听器代码错误...

  5. 享受编码:)(和android:))...

答案 4 :(得分:0)

你甚至可以这样做

public  void  mainClickHandler(View v)
    {
     switch (v.getId()) {
         case R.id.button:

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

          case R.id.button2:

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

    }


    }