如何更改按钮的图像

时间:2013-03-02 12:46:16

标签: image class button android-intent

我的问题是如何在单击按钮后显示按钮的新图像,但条件来自其他类。我是新手,我想知道如何连接其他类的班级。我尝试了意图...

这是我的代码

这是我们问题的课程......

@Override
// TODO Auto-generated method stub
public void onClick(View v) {
    String answer = "Marianas Trench";
    String answer2 = "marianas trench";
    String answer3 = "MARIANAS TRENCH";

    String check = input.getText().toString();
    if (check.contentEquals(answer)){
        tvresult.setText("Correct");
        Intent myIntent= new Intent("com.turtleexploration.LEVEL1");
        startActivity(myIntent);
    }else if (check.contentEquals(answer2)){
        tvresult.setText("Correct");
        Intent myIntent= new Intent("com.turtleexploration.LEVEL1");
        startActivity(myIntent);
    }else if (check.contentEquals(answer3)){
        tvresult.setText("Correct");
        Intent myIntent = new Intent("com.turtleexploration.LEVEL1");
        startActivity(myIntent);
    }else{
        tvresult.setText("Wrong");
    }

    Intent intObj = new Intent(Question.this, Level1.class);
    intObj.putExtra("ANSWER", answer);
    startActivity(intObj);          
}

这是问题选择课..

ImageButton l1 = (ImageButton) findViewById(R.id.l1);
    TextView t1 = (TextView) findViewById(R.id.t1);
    Intent intename = getIntent();
    String mainans = "Marianas Trench";
    String ans = (String) intename.getSerializableExtra("ANSWER");
    if (ans == mainans){
        l1.getBackground().equals(getResources().getDrawable(R.drawable.m1));
        t1.setText("Correct");
    }else{

    }

该按钮位于问题选择菜单中......

1 个答案:

答案 0 :(得分:0)

似乎你没有使用带有数据的Bundle。 Intent仅调用下一个活动。必须包括捆绑包。

像:

Bundle b = new Bundle();
b.putString("ANSWER", answer);

Intent intObj = new Intent(Question.this, Level1.class);
b.putExtras(b);
startActivity(intObj);

并在下一堂课。用这个来传递数据:

    Bundle b = new Bundle();

    b = getIntent().getExtras();
   String Gotanswer = b.getString("ANSWER");

并使用字符串Gotanswer来使用它。

但还有一件事,如果你想把字符串ANSWER传递给下一个类,那么在这段代码中就不可能了,因为在你的每一个条件中,都有一行开始下一个类,如:

Intent myIntent = new Intent("com.turtleexploration.LEVEL1");
        startActivity(myIntent);

执行此操作将启动下一个课程,而不通过下面的intObj代码。 如果我没弄错的话。 :)

此外,If-Else-If不是使用switch,而是使用Kaya yan pre! haha 更好。

当你看到这个答案时,请进一步解释你的问题。

{{1}}