如何将意图传递给另一个意图

时间:2013-01-30 11:46:02

标签: java android

嘿伙计们我试图创建一个测验,但我在意图中遇到麻烦,用户点击按钮后,它会自动意图进行另一项活动..我怎么能这样做?

请帮助伙计们......提前感谢..

这是代码:

if(btn1.isClickable())
    {
        img1.setVisibility(View.VISIBLE);
        img1.setImageResource(R.drawable.check);

        img2.setVisibility(View.INVISIBLE);
        img2.setImageResource(R.drawable.wrong);

        img3.setVisibility(View.INVISIBLE);
        img3.setImageResource(R.drawable.wrong);

        btn1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Scorecount++;
                Intent i = getIntent();
                startActivity(i);
                Scorecount = i.getIntExtra("score",0);

            }
        });

    }
    else if (btn2.isClickable())
    {
        img2.setVisibility(View.VISIBLE);
        img2.setImageResource(R.drawable.wrong);

        img1.setVisibility(View.INVISIBLE);
        img1.setImageResource(R.drawable.wrong);

        img3.setVisibility(View.INVISIBLE);
        img3.setImageResource(R.drawable.wrong);
    }
    else if (btn3.isClickable())
    {
        img3.setVisibility(View.VISIBLE);
        img3.setImageResource(R.drawable.wrong);

        img2.setVisibility(View.INVISIBLE);
        img2.setImageResource(R.drawable.wrong);

        img1.setVisibility(View.INVISIBLE);
        img1.setImageResource(R.drawable.wrong);
    }
    btn1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            Intent i = getIntent();
            startActivity(i);
            Scorecount = i.getIntExtra("score",0);

        }
    });
    btn2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent i = getIntent();
            startActivity(i);

        }
    });
    btn3.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            Intent i = getIntent();
            startActivity(i);
        }
    });
}

}

3 个答案:

答案 0 :(得分:0)

第一项活动

Intent i= new Intent(CurrentActivity.this,
                    NextActivity.class);

            i.putExtra("quiz", array[0]);
            i.putExtra("pass_value","Pass value");
            startActivity(i);

第二项活动

String getvalue= getIntent().getSerializableExtra("pass_value").toString();

答案 1 :(得分:0)

我不确定我是否完全理解你想要什么,但你可以将一个意图添加到另一个意图,因为意图实现了parceable。你可以这样做:

intent.putExtra("INTENT_KEY", someOtherIntent);

然后:

intent = getIntent();
Intent someOtherIntent = (Intent)intent.getParcelableExtra("INTENT_KEY");

有帮助吗?

P.S。你的代码很奇怪......(我的意思是错误和有时无意义)

答案 2 :(得分:0)

为了传递参数,您需要创建新意图并放置参数图:

Intent myIntent = new Intent(this, NewActivityClassName.class);
myIntent.putExtra("firstKeyName","FirstKeyValue");
myIntent.putExtra("secondKeyName","SecondKeyValue");
startActivity(myIntent);

要获取参数值,您必须以相同的意图调用get[type]Extra()

Intent myIntent= getIntent(); // gets the previously created intent
String firstKeyName = intent.getStringExtra("firstKeyName"); // will return "FirstKeyValue"
String firstKeyName = intent.getStringExtra("firstKeyName"); // will return "SecondKeyValue"

如果您的参数是整数,则可以使用getIntExtra()等。 现在,您可以像平常一样使用参数。