活动 - 意图将信息发送到MainActivity

时间:2016-09-27 14:01:27

标签: android android-activity

我在从activity2恢复MainActivity的数据时遇到问题。

activity2有以下代码:

public class Activity2 extends Activity {

    Button btnAcepta, btnCancela;

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

        //Listener del botó Acepta
        btnAcepta = (Button) findViewById(R.id.btnAcepta);

        btnAcepta.setOnClickListener(

                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {

                        // Recuperem info dels spinner

                        Spinner spiCicle=(Spinner) findViewById(R.id.spiCicle);
                        String txtSpiCicle = spiCicle.getSelectedItem().toString();

                        Spinner spiCurs=(Spinner) findViewById(R.id.spiCurs);
                        String txtSpiCurs = spiCurs.getSelectedItem().toString();

                        //Omplim un "intent" amb les dades a passar a l'altre activitat
                        Intent i = new Intent(this, MainActivity.class);

                        //Creem un "bundle" per afegir dades extra a l'"intent"
                        Bundle extras = new Bundle();

                        // Afegim Cicle i Curs

                        extras.putString("Cicle", txtSpiCicle);
                        extras.putString("Curs", txtSpiCurs);
                        //extras.putInt("Opcio", )

                        // Afegim bundle amb la info a l'intent
                        i.putExtras(extras);

                        //Cridem l'activitat
                        startActivity(i);

                        finish();

                    }
                }
        );

IDE显示错误消息:

Intent i = new Intent(this, MainActivity.class);

我不明白,因为我想将信息发送到MainActivity。

请你能帮帮我吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您需要在intent context中传递正确的i,因为this指的是您点击侦听器的匿名类。更改以下行:

Intent i = new Intent(this, MainActivity.class); 

到此:

Intent i = new Intent(Activity2.this, MainActivity.class);