根据按下的按钮加载包

时间:2011-11-22 21:08:48

标签: java android

我在一个班级中有两个按钮,这些按钮会将您发送到同一个班级,但根据按下的按钮,它会显示不同的文本/图像/按钮。

现在,当按下按钮时,它会将您发送到下一个类并添加一些intets,如下所示:

button1.setOnClickListener(new View.OnClickListener() {  
            @Override  
              public void onClick(View view) {  
                Bundle bundle1 = new Bundle();  
                bundle1.putInt("top", R.drawable.1);  
                bundle1.putInt("mid", R.drawable.2);  
                bundle1.putInt("bot", R.drawable.3);  
                Intent intet1 = new Intent(curclass.this, nextclass.class);  
                intent1.putExtras(bundle1);  
                startActivity(intent1);

在下一节课中,每个按钮都有一个包,但我相信我需要在它们上设置一个if / else,以确保它只使用其中一个包,因为它现在无法正常工作。

那么如何制作“if”的东西呢? 我试过但是我不知道在“if”之后要放什么。 像

这样的东西
"if (button1 = pressed)  
(do this)  
else if (button2 = pressed)  
(do this)"

提前致谢!

对不起,如果我像个偶像一样解释,可能是因为我是一个而且我刚开始编程。

编辑:问题是我在第二个活动中有两个捆绑包,如下所示:

Bundle asd = getIntent().getExtras();
    int asdasd = asd.getInt("top");
    im1 = (ImageView) findViewById(R.id.imagetop);
    im1.setImageResource(newimage);
    bu1 = (Button) findViewById(R.id.buttontop);
    bu1.setText("blahblah");

我有中间和机器人,然后我有第二个包从button2告诉Ints显示什么图像/文本,问题是它加载了第二个捆绑的东西,即使我按下button1,我怀疑是因为捆绑在一起并没有告诉他们该怎么做。

我希望能够清除它:)

1 个答案:

答案 0 :(得分:1)

get的好处...捆绑它的方法,你可以定义默认值。

把它放在你想要的任何地方,也许你有一个常量类,或者你最好填充它留下来。由于它是静态的,您可以随时随地访问它。 创建“全局变量”,唯一标识您的按钮。

public static final int no_button = -1;
public static final int button_1 = 1;
public static final int button_2 = 2; //you are not forced to use -1, 1, 2, just use different numbers

按下按钮后,始终在第一个活动中

button1.setOnClickListener(new View.OnClickListener() {  
            @Override  
              public void onClick(View view) {  
                Bundle bundle1 = new Bundle(); 
                bundle1.putInt("button id", button_1); 
                bundle1.putInt("top", R.drawable.1);  
                bundle1.putInt("mid", R.drawable.2);  
                bundle1.putInt("bot", R.drawable.3);  
                Intent intet1 = new Intent(curclass.this, nextclass.class);  
                intent1.putExtras(bundle1);  
                startActivity(intent1);

button2.setOnClickListener(new View.OnClickListener() {  
            @Override  
              public void onClick(View view) {  
                Bundle bundle2 = new Bundle();  
                bundle2.putInt("button id", button_2);
                bundle2.putInt("top", R.drawable.1);  
                bundle2.putInt("mid", R.drawable.2);  
                bundle2.putInt("bot", R.drawable.3);  
                Intent intet2 = new Intent(curclass.this, nextclass.class);  
                intent2.putExtras(bundle1);  
                startActivity(intent1);

然后在第二个活动中

Bundle asd = getIntent().getExtras();
switch(asd.getInt("button id", -1)){
case button_1:
    [put here the code you want to execute if button1 was pressed]
case button_2:
     [put here the code you want to execute if button2 was pressed]
case no_button:
     [put here the code you want to execute if something else happened]
}