1

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

这是我的代码

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

@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{

    }

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

4

1 回答 1

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
于 2013-03-02T15:05:41.270 回答